T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008<br />
<br />
XỬ LÝ ẢNH TRONG CÔNG NGHIỆP NHU CẦU, THÁCH THỨC VÀ GIẢI PHÁP<br />
Phạm Đức Long (Khoa Công nghệ thông tin - ĐH Thái Nguyên)Phạm Thượng Cát (Viện Công nghệ thông tin - Viện KH&CN Việt Nam)<br />
<br />
1. Mở đầu<br />
Quan sát là một trong những phương thức thu thập thông tin quan trọng. 79% thông tin<br />
con người thu thập được qua thị giác đều bắt nguồn từ ảnh [3]. Các hình ảnh được truyền tới bộ<br />
não, được xử lý tại đây, rồi sau đó các chỉ thị của não sẽ gây ra các phản ứng tương ứng của cơ<br />
thể. Nhưng những năng lực tự nhiên của con người không phải là vô hạn. Trong rất nhiều<br />
trường hợp khả năng bắt ảnh của mắt người, khả năng xử lý của não người không đáp ứng được<br />
các yêu cầu quan sát - Đặc biệt là trong lĩnh vực sản xuất công nghiệp, nơi mà tốc độ của các<br />
dây chuyền sản xuất cực kỳ nhanh, thời gian tồn tại sự kiện vô cùng nhỏ, số lượng đối tượng<br />
quan sát, thông tin cần xử lý vô cùng lớn. Con người với sức sáng tạo không ngừng đã tạo ra<br />
được nhiều công cụ có khả năng hỗ trợ, khắc phục được các năng lực hạn chế của bản thân. Các<br />
camera độ nhạy cao cùng với các máy tính số mạnh đã tạo ra các hệ thống quan sát có khả năng<br />
thay thế con người trong nhiều trường hợp. Tuy nhiên vẫn còn quá nhiều khoảng trống trong<br />
bức tranh xử lý ảnh bằng máy tính trong công nghiệp. Do sử dụng các máy tính số hoạt động<br />
theo nguyên lý xử lý lệnh tuần tự làm công cụ thực hiện nên mặc dù các chuyên gia xử lý ảnh đã<br />
cố gắng cải tiến, hoàn thiện các thuật toán thu và xử lý ảnh nhưng với nhiều nhu cầu như thu và<br />
xử lý ảnh trong những thời gian cỡ micro giây, tốc độ bắt ảnh và xử lý vài trăm hình trên giây<br />
(fps), xử lý ảnh thời gian thực từ nhiều nguồn ảnh tới cùng một lúc... thì phương pháp xử lý ảnh<br />
truyền thống đã không đáp ứng được. Việc tăng tốc độ xử lý của các bộ vi xử lý cũng không<br />
phải là vô hạn do các hạn chế về cấu trúc vật lý của vật liệu bán dẫn.<br />
Mạng nơron tế bào CNN (Cellular Nonlinear/neural Network) được các nhà bác học Mỹ<br />
Leon O.Chua và L.Yang giới thiệu năm 1988 và sau đó năm 1992 là máy tính vạn năng tương tự<br />
logic CNN UM [5, 6, 7] đã mở ra một lối thoát cho bài toán xử lý ảnh thời gian thực. Với kiến<br />
trúc mạng nơron tế bào, xử lý song song với hàng chục nghìn CPU (sản phNm thương mại hiện<br />
nay là ACE16k với 16.384 CPU và Q-Eye với 25.344 CPU trong một chip), lập trình được từ<br />
các máy tính số sử dụng hệ điều hành thông dụng như Windows 2000, XP khả năng bắt ảnh và<br />
xử lý của các thiết bị ứng dụng công nghệ CNN đã đạt tới 10.000 fps; trong nhiều trường hợp đã<br />
đạt đến 50.000-70.000 fps.<br />
2. Nhu cầu xử lý ảnh trong công nghiệp<br />
Ngày nay sản xuất công nghiệp đã đạt tới trình độ tự động hoá cao, tốc độ sản xuất của<br />
dây chuyền rất lớn. Thực tế này dẫn tới là nếu có sai lệch trong quá trình sản xuất thì chỉ trong<br />
những khoảng thời gian rất ngắn đã có ngay hàng loạt lớn số lượng sản phNm phế phNm. Do đó<br />
mọi khâu từ kiểm tra giám sát đến điều chỉnh đều phải đáp ứng rất nhanh; đặc biệt là khâu kiểm<br />
tra phát hiện. Nhu cầu xử lý ảnh trong công nghiệp hiện nay càng ngày càng lớn chủ yếu gồm:<br />
đo, kiểm tra, phân loại, hiển thị. Các hệ thống xử lý ảnh công nghiệp này ngoài yêu cầu chính<br />
xác còn cần phải đảm bảo yêu cầu về thời gian thực (real-time).<br />
121<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008<br />
<br />
3. Xử lý ảnh bằng máy tính hệ lệnh tuần tự<br />
Xử lý ảnh bằng máy tính hệ lệnh tuần tự đã đạt được nhiều thành tựu trong các lĩnh<br />
vực của thực tiễn: Các chương trình nhận dạng mặt người, nhận dạng vân tay trong điều tra<br />
hình sự. Các chương trình xử lý ảnh vệ tinh, kiểm soát giao thông. Xử lý ảnh chụp cắt lớp,<br />
chuNn đoán tế bào trong y học. Các chương trình nhận dạng chữ viết...đã đem lại nhiều ứng<br />
dụng tiện ích cho con người. Việc nghiên cứu các phương pháp xử lý ảnh, cải tiến các thuật<br />
toán xử lý trên máy tính hệ lệnh tuần tự vẫn được được tiếp tục nhằm đáp ứng các nhu cầu<br />
của thực tế. Tuy nhiên việc xử lý đã gặp phải các ngưỡng, các giới hạn khó có thể vượt qua<br />
như đã nói ở phần đầu bài viết. Vì sao vậy? Ta hãy xem xét quá trình xử lý ảnh bằng phương<br />
pháp truyền thống:<br />
Các ảnh đưa vào máy tính để xử lý là các ảnh đã được số hoá. Chúng có thể là ảnh nhị<br />
phân (chỉ có 2 mức đen/trắng) hoặc ảnh mức xám (đen trắng có nhiều mức) hoặc ảnh màu (tổng<br />
hợp từ 3 màu cơ bản: đỏ, xanh, lục). Các ảnh được lưu trữ dưới dạng các ma trận có kích cỡ<br />
khác nhau. Khi xử lý ảnh tuỳ theo yêu cầu các giá trị ảnh sẽ bị biến đổi với các phép tính toán<br />
khác nhau. Việc thao tác được thực hiện lần lượt từng bit một. Ảnh càng lớn, thao tác càng phức<br />
tạp số lượng phép tính thực hiện yêu cầu càng lớn dẫn đến thời gian xử lý càng dài. Một ví dụ<br />
thực hiện hình thái học erosion & dilation ảnh nhị phân như sau:<br />
<br />
Hình 1 Thực hiện erosion và dilation ảnh nhị phân<br />
<br />
Ta có một ảnh P như hình 1. Thực hiện phép erosion và dilation ảnh bằng cách tuỳ theo<br />
yêu cầu xử lý tạo ra các tập phần tử có cấu trúc (mặt nạ), sau đó rê mặt nạ đi khắp ảnh và tính<br />
giá trị điểm ảnh bởi các điểm lân cận với motip của mặt nạ. Các phép thực hiện có thể là hội,<br />
tuyển hoặc liên hợp [3, 4]. Chẳng hạn Dilation: Rê mặt nạ S đi khắp ảnh và tại mỗi điểm kiểm<br />
tra nếu bít có giá trị 1 thì thực hiện phép tuyển với bit mặt nạ quanh điểm ảnh đó. Kết quả được<br />
D(P,S) Theo cách này khối lượng tính toán rất lớn: Với ảnh P như trên có 28 bit cần kiểm tra 28<br />
lần, tại mỗi vị trí cần thực hiện 9 lần phép tuyển.Với các thao tác lọc, dò biên, trích chọn đặc<br />
tính... số lượng tính toán cũng vô cùng lớn.<br />
3. Công nghệ CNN và hệ thống thu ảnh - xử lý song song<br />
Công nghệ CNN [5,6] được xây dựng trên tư tưởng chung là sử dụng một mảng đơn giản<br />
các tế bào nối liền nhau cục bộ để xây dựng một hệ thống xử lý tín hiệu analog đồ sộ. Đặc điểm<br />
mấu chốt của mạng nơron là xử lý song song không đồng bộ, thời gian liên tục. Mô hình của<br />
một mạng nơron 2 chiều gồm 16 cell như hình 2.<br />
122<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008<br />
<br />
Hình 2. Mạng nơron tế bào<br />
<br />
Khối mạch cơ bản của CNN được gọi là cell. Nó chứa các phần tử mạch tuyến tính và<br />
không tuyến tính. Đó là các tụ điện, điện trở, nguồn dòng, nguồn dòng được điều khiển bằng điện<br />
áp. Mỗi một cell trong CNN chỉ nối tới các cell láng giềng của cell đó. Các cell liền kề có thể ảnh<br />
hưởng trực tiếp đến mối cell khác. Các cell không nối trực tiếp với nhau có thể tác động cell khác<br />
gián tiếp bởi sự lan truyền động học của CNN [5]. Phương trình trạng thái của CNN tiêu chuNn<br />
Trong đó z=I được gọi là ngưỡng của cell Cij . A(ij;kl) và B(ij;kl) được gọi là các toán tử<br />
<br />
C<br />
<br />
dvxij (t )<br />
dt<br />
<br />
=−<br />
<br />
1<br />
vxij (t ) + ∑ A(i, j; k , l )v ykl (t ) + ∑ B(i, j; k , l )vukl + I<br />
Rx<br />
C ( k ,l )∈Nr (i , j )<br />
C ( k ,l )∈Nr (i , j )<br />
<br />
hồi tiếp và điều khiển. Với r=1 chúng là các ma trận 3 x 3. Trong một cell, động học là cố định.<br />
Bộ ba thông số (A, B, z) định nghĩa tác động của lớp CNN. Chúng được gọi là tập mẫu hay còn<br />
gọi là gien. Do có kiến trúc là một mảng các bộ xử lý (mỗi cell là một bộ xử lý) nên CNN rất<br />
thích hợp cho xử lý ảnh [6].<br />
Khi mới được phát minh các CNN chỉ có thể thực hiện các nhiệm vụ cụ thể tuỳ theo tập<br />
gien của nó. Để việc sử dụng linh hoạt, mềm dẻo và linh hoạt hơn người ta đã nghĩ tới chuyện<br />
thay đổi các tập gien. Kiến trúc máy tính vạn năng tương tự logic CNN UM (CNN Universal<br />
Machine) ra đời (1992) [7]. Từ đây các gien có thể thay đổi tuỳ theo yêu cầu của phép xử lý.<br />
Việc đưa bộ gien vào CNN UM được thực hiện thông qua máy tính số thông thường.<br />
Tiến xa hơn nữa, để tạo ra các thiết bị chuyên dùng xử lý ảnh có công suất mạnh người<br />
ta đã tích hợp các mảng sensor thu ảnh vào thiết bị CNN. Luồng tín hiệu ảnh từ các sensor được<br />
đưa thẳng tới đầu vào của chip CNN. Quá trình động học diễn ra với những thời gian vô cùng<br />
ngắn (5µs hoặc nhỏ hơn [5]). Tuỳ theo tập gien nạp vào theo những yêu cầu khác nhau của xử lý<br />
ảnh mà tín hiệu đầu ra của các cell - tập hợp thành ảnh đã được xử lý khác nhau. Một số những<br />
đại diện cho loại thiết bị này là thiết bị Bi-i V2 (và gần đây là Bi-i V301). Đây là những thiết bị<br />
camera thông minh sử dụng chip ACE16k. Bộ xử lý này được cấu thành từ một ma trận 128 x<br />
128 tế bào xử lý. Trong CNN các tế bào CNN nhiều lớp kết hợp với các sensor có cấu trúc<br />
tương tự như cấu trúc sinh học của mắt người. Con chip gồm 16.384 bộ xử lý tế bào làm việc<br />
song song. Toàn bộ quá trình hoạt động, tính toán của con chip cung cấp khả năng xử lý hình<br />
ảnh kích thước 128 x 128 lên đến 10.000fps bao gồm cả vào ra. Cấu tạo Bi-i như trong hình 3.<br />
123<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 1(45) Tập 2/N¨m 2008<br />
<br />
Thiết bị có cấu tạo nhỏ gọn (154x182x58, trọng lượng