Khóa luận Nhận dạng và định vị cà phê hạt bằng mầu sắc

MỤC LỤC

Lời cảm ơn 1

MỤC LỤC 2

Chương 1 3

GIỚI THIỆU VỀ MÁY PHÂN LOẠI CÀ PHÊ BẰNG MÀU SẮC 3

1.1 Tính cấp thiết của dự án. 3

1.2 Tình hình nghiên cứu trong nước. 3

1.3 Tình hình nghiên cứu ngoài nước. 3

1.4 Tổng quát hoạt động của một máy phân loại cà phê hạt bằng màu sắc. 5

Chương 2 9

CƠ SỞ VỀ XỬ LÝ ẢNH 9

2.1 Giới thiệu chung về xử lý ảnh. 9

2.2 Khái niệm cơ sở xử lý ảnh 10

2.2.1 Các thiết bị thu nhận ảnh. 10

2.2.2 Những khái niệm cơ sở về xử lý ảnh 14

2.2.3 Không gian màu. 16

2.2.4 Những định dạng của ảnh. 19

Chương 3 21

ỨNG DỤNG XỬ LÝ ẢNH TRONG HỆ THỐNG MÁY PHÂN LOẠI MÀU SẮC 21

3.1 Nguyên tắc hoạt động của hệ thống phân loại cà phê theo màu sắc. 21

3.1.1 Lọc trung bình. 25

3.1.2 Bộ chuyển đổi RGB sang HSV. 25

3.1.4 Lọc nhiễu. 25

3.1.5 Quyết định vị trí hạt xấu. 26

3.2 Cài đặt thuật toán. 26

3.2.1 Bộ lọc trung bình. 26

3.2.2 Chuyển đổi không gian màu từ RGB sang HSV. 29

3.2.3 Phân ngưỡng. 31

3.2.4 Lọc nhiễu. 34

3.2.5 Quyết định vị trí hạt xấu. 37

3.3 Nhận xét kết quả đạt được giữa hai hệ thống nhận dạng cà phê hạt bằng màu sắc của IMI và của ta thực hiện. 42

Chương 4 43

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI 43

4.1 Kết luận về thuật toán phân biệt màu sắc. 43

4.2 Một số hướng phát triển trong tương lai. 44

TÀI LIỆU THAM KHẢO 45

 

 

doc45 trang | Chia sẻ: maiphuongdc | Lượt xem: 2850 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Khóa luận Nhận dạng và định vị cà phê hạt bằng mầu sắc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
c chuyển tới một bộ bắt hình (frame grabber) ở đó tạo dựng ảnh số cuối cùng. Các CCD camera mầu cấp độ dân dụng thực chất sử dụng các chip giống như các camera đen trắng, chỉ khác là các hàng hoặc các cột liên tiếp của cảm biến được tạo ra nhạy cảm với ánh sáng đỏ, lục hoặc lam thường sử dụng một bộ lọc phủ để bù ánh sáng. Các mẫu lọc khác có thể thực hiện được bao gồm các khối khảm (mosaic) 2´2 được tạo bởi các bộ cảm nhận hai lục, một đỏ và một lam (mẫu Bayer). Độ phân giải không gian của camera một CCD tất nhiên là có giới hạn, các camera chất lượng cao hơn sử dụng một bộ chia chùm tia để chuyển ảnh tới 3 CCD khác nhau thông qua các bộ lọc màu. Các kênh màu riêng biệt sau đó được số hoá hoặc là riêng biệt (lối ra RGB) hoặc kết hợp thành tín hiệu ghi hình màu hỗn hợp (NTSC, SECAM hoặc PAL) hoặc thành định dạng ghi hình thành phần tách rời thông tin màu và độ chiếu sáng. Quá trình số hoá ảnh và các bộ xử lý. Các tín hiệu hình ảnh từ CCD sẽ được số hoá qua các bộ bắt hình rồi đưa tiếp vào bộ xử lý. Hình 2.2 là cấu trúc cơ bản của một bộ bắt hình. Hình 2.2: Cấu tạo của bộ bắt hình (frame grabber). Tín hiệu video được đưa đến bộ tách các xung đồng bộ dòng và mành ra khỏi tín hiệu thị tần hình ảnh. Tuỳ theo chuẩn video mà mạch trích giữ mẫu tín hiệu sẽ trích 767 pixel trên một dòng cho chuẩn CCIR và 647 pixel trên một dòng cho chuẩn EIA để số hoá chúng. Khi bộ bắt hình được nối với bus mở rộng có tốc độ chậm như bus ISA thì cần phải sử dụng các bộ nhớ phụ trên bản mạch nhưng khi nối với các bus nhanh như PCI thì chỉ cần bộ nhớ đệm FIFO để đệm cho một dòng quét. Thường sau khi tín hiệu video vào đến bộ bắt hình, cần đến 3 khung ảnh để khởi động. Các bộ xử lý có thể là các mạch vi xử lý chuyên dụng (DSP), vi điều khiển hoặc các máy vi tính PC. Ngoài nhiệm vụ thu thập dữ liệu, chúng có nhiệm vụ xử lý các dữ liệu này bằng các chương trình được nhúng trong bộ xử lý hoặc chạy trên các máy PC. Một vi điều khiển (microcontroller) là một máy tính trên một chip (computer-on-a-chip, single-chip computer). Thường các vi điều khiển còn được gọi là các bộ điều khiển nhúng (embedded controller) vì rằng chúng và các mạch điện hỗ trợ thường được thiết kế lắp đặt (nhúng) ngay bên trong các thiết bị được điều khiển. Hiện có rất nhiều loại vi điều khiển được sản xuất như họ 80x51, MC68HCxx, Basic Stamp hay PSoC. Một vi điều khiển tương tự như một vi xử lý bên trong một máy tính cá nhân. Cả hai loại, vi xử lý và vi điều khiển đều chứa một đơn vị xử lý trung tâm CPU có nhiệm vụ chạy các lệnh cho phép thực hiện các chức năng logic, toán học và chuyển số liệu cơ bản trong máy tính. Để tạo một máy tính hoàn chỉnh, ngoài vi xử lý còn phải có bộ nhớ để lưu trữ số liệu và chương trình, các ghép nối vào/ra. Ngược lại, một vi điều khiển là một máy tính trên một chip nghĩa là nó chứa cả bộ nhớ và giao diện vào/ra bên cạnh CPU. Tuy nhiên, vì cần được thiết kế chỉ trên một chip nên lượng bộ nhớ và các giao diện vào/ra trong vi điều khiển được thiết kế nhỏ. Mô hình cảm biến. Để đơn giản, ta hạn chế sự chú ý tới các CCD camera đen trắng: các camera màu có thể được giải quyết tương tự bằng cách xem xét mỗi kênh màu riêng biệt và tính đến hiệu ứng lọc màu. Gọi I là số các điện tử ghi được tại tế bào có vị trí ở hàng r và cột c của mảng CCD thì I có thể được mô hình là: (2.1) ở đó T là thời gian thu thập điện tử và tích phân được tính trên miền không gian S(r,c) của tế bào và dải bước sóng mà đáp ứng của CCD khác không. Trong tích phân E là công suất trên đơn vị diện tích và đơn vị bước sóng đến điểm p, R là đáp ứng không gian của điểm, và q là hiệu ứng lượng tử của thiết bị. Trong trường hợp tổng quát, E và q phụ thuộc vào bước sóng ánh sáng l, và E và R phụ thuộc vào vị trí điểm p trong S(r,c). Bộ khuếch đại lối ra của CCD chuyển đổi điện tích được thu thập tại mỗi điểm thành điện áp có thể đo lường được. Trong hầu hết các camera, điện áp này sau đó được chuyển đổi thành một tín hiệu ghi hình được lọc thông thấp có biên độ tỷ lệ với I. Ảnh tương tự có thể được chuyển đổi lại một lần nữa thành ảnh số sử dụng một khối bắt hình ở đó lấy mẫu không gian và lượng tử hoá giá trị chiếu sáng ở mỗi điểm ảnh hoặc gọi là pixel (hoặc thành phần ảnh – picture element). Có một vài hiện tượng vật lý làm thay đổi mô hình camera lý tưởng chẳng hạn nhèo ảnh sẽ xuất hiện khi nguồn sáng chiếu vào các điểm thu thập là quá mạnh đến mức điện tích được lưu trữ ở các điểm đó tràn qua các điểm gần kề. Có thể ngăn chặn việc này bằng cách điều khiển sự chiếu sáng, nhưng các yếu tố khác như khuyết tật sản xuất, các hiệu ứng nhiệt và lượng tử và ồn lượng tử hoá là gắn liền với quá trình tạo ảnh 2.2.2 Những khái niệm cơ sở về xử lý ảnh Ảnh phẳng là ảnh một thị kính một vật kính (monocular) được tạo bởi hệ thống như camera lỗ (pinhole camera). Trong đó ảnh được tạo bởi phép chiếu các điểm trên vật thể tới mặt phẳng ảnh qua 1 lỗ. ảnh phẳng không cho các thông tin về độ sâu của các điểm trên vật thể trong không gian 3 chiều. Ảnh nổi là ảnh hai thị kính hai vật kính (binocular) được tạo bởi hệ thống có hai điểm nhìn. Hệ thống này có các ống kính không đồng quy mà được sắp đặt song song nhìn ra điểm vô cực theo hướng z nào đó. Thông tin độ sâu của một điểm được giải mã bởi các vị trí khác nhau của điểm đó trong hai mặt phẳng ảnh. Tín hiệu điện của một ảnh trong thực tế thường là liên tục về không gian và cường độ sáng. Khi được số hoá, các tín hiệu này được rời rạc hoá thông qua quá trình lấy mẫu và lượng tử hoá thành phần độ sáng. Mặc dù các mẫu không gian có thể được đại diện cho các điểm nhưng sẽ thực tế hơn khi coi các mẫu này như các mẫu ảnh có kích thước hữu hạn và có mức xám không đổi trong toàn mẫu. Những mẫu ảnh này gọi là các pixel (picture element) và ảnh trở thành ảnh số gồm một tập hợp các pixel. Trong thị giác máy tính, thường coi một pixel cần khảo sát ở trung tâm có hình chữ nhật thì có 4 pixel hoặc 8 pixel lân cận như mô tả trên hình 2.3. Thường biểu diễn trực tiếp các số đo mức xám của các pixel như hình 2.3c. Ảnh số được biểu diễn toán học bằng một hàm ảnh (image function). Nói chung nó là một hàm vectơ với m hướng. Hầu hết các ảnh được biểu diễn bằng hàm của 2 biến không gian f(x) = f(x,y), trong đó f(x,y) là độ sáng của mức xám ảnh tại toạ độ (x,y) của các pixel. Mức xám (gray level) là kết quả của sự mã hoá tương ứng một cường độ sáng của mỗi điểm ảnh với một giá trị số. Thông thường ảnh đơn sắc thường được mã hoá bằng 8 bit tương ứng sẽ có 256 mức xám (từ 0 đến 255). 15 7 3 9 16 18 2 20 98 (b) (a) c) (c) Hình 2.3: Pixel trung tâm và 4 pixel lân cận (a) và 8 pixel lân cận (b). Một ảnh đa phổ f là một hàm vectơ với các thành phần (f1, f2, ..., fn). Một ảnh đa phổ đặc biệt là ảnh màu trong đó các thành phần đo các giá trị độ sáng của mỗi một trong 3 bước sóng, đó là: f(x) = (2.2) Với trường hợp ảnh ba chiều 3-D, x = (x,y,z). Thường giá trị của f được lưu trữ trên 1 bit (với ảnh đen trắng), 8 bit (ảnh đa mức xám) hay 16, 24 hay 32 bit (ảnh giả màu, màu thật, ...). Vậy trong một ảnh thường có nhiều điểm ảnh mà mỗi điểm ảnh thường có thể là là 1 bit hay cũng cú thể là một ma trận 8 bit hay 24 bit. Hình 2.4: Sự phân bố dữ liệu RGB. Từ hình 2.4 trên ta thấy với định dạng RGB mỗi điểm ảnh có 24 bit: Trong đó 8 bit là R, 8 bit G, 8 bit B. Tổng quát không gian biểu diễn phân bố điểm ảnh của RGB được trên hình trên. Đây chính là biểu diễn về sự phân bố của không gian màu RGB, từ hình trên ta thấy mỗi điểm ảnh bao gồm 3 màu R,G,B mỗi màu mang giá trị 8 bít vậy một điểm ảnh bao gồm 24 bit. Mà trong một ảnh thì lại có nhiều điểm ảnh. 2.2.3 Không gian màu. Mọi vật mà chúng ta quan sát được là nhờ ánh sáng. Bề mặt của các vật đó là sáng hay tối có hai nguyên nhân chính: năng xuất phản xạ của nó và số lượng ánh sáng mà chúng ta nhận được từ nguồn. Có hai loại nguồn sáng. Loại thứ nhất tự nó phát ra ánh sáng gọi là nguồn sơ cấp (mặt trời, đèn điện..). Loại thứ hai là chỉ phản xạ hay khuyếch tán ánh sáng mà nó nhận được từ các nguồn sáng khác nhau gọi là nguồn sáng thứ cấp (như mặt trăng, đồ vật..). Hình 2.5: Các loại sóng điện từ (trên) và dải ánh sáng được phóng to (dưới). Ánh sáng khác với sóng điện từ khác là mắt người nhận biết được nó. Mắt người nhậy cảm với sóng điện từ trong dải của bước sóng l trong khoảng từ 350nm đến 750nm. Hình 2.5 trên biểu diễn các loại sóng điện từ theo bước sóng và dải nhìn thấy được. Cảm nhận màu có được do 3 loại tế bào hình chóp trong võng mạc mắt người. Mỗi tế bào nhậy cảm với một dải phổ nhất định tương ứng với các màu đỏ,xanh lục và xanh dương. Nguồn sáng có thành phần phổ f(l) được biến đổi bởi bề mặt phản xạ của vật thể. Giả sử r(l) là hàm phản xạ này. Khi đó số đo R được tạo bởi tế bào màu đỏ sẽ là: . (2.3) Tức là tín hiệu hình ảnh trên các lối ra của sensor(tế bào). Trong thực tế chính bằng tích phân của 3 thành phần phụ thuộc vào bước sóng khác nhau: nguồn sáng f, phản xạ bề mặt của vật r và đặc tính sensor hR Vậy mọi màu sắc tự nhiên đều được tổ hợp từ 3 màu cơ bản: đỏ R(red), xanh G(green) và xanh dương B(blue). Người ta cũng đã quy định 3 màu cơ bản ứng với các bước sóng 700 nm(R), bước sóng 546,8 nm(G), và 435,8 nm (B) Có 3 thuộc tính chủ yếu trong cảm nhận màu: brightness còn gọi là độ chói. hue còn gọi là sác thái. Saturation là độ bão hòa màu. Với nguồn sáng đơn sắc thì sắc lượng tương ứng với bước sóng ánh sáng nguồn. Độ bão hòa thay đổi nhanh nếu lượng ánh sáng trắng được thêm vào. Mô hình không gian màu. Là phương pháp diễn giải các đặc tính và tác động của màu trong ngữ cảch nhất định. Song không có mô hình màu nào là đầy đủ cho mọi việc được ví dụ như không gian màu RGB ứng dụng cho màn hình, TV và không gian màu HSV dùng cho nhận nhức của con người ngoài ra còn có không gian màu CMYK dùng cho máy in. Tổ chức quốc tế về chuẩn hoá màu CIE(Commision Internationale d'Eclairage) đưa ra một số các chuẩn để biểu diễn màu. Các hệ này có các chuẩn riêng. ở đây chỉ đề cập đến chuẩn màu CIE-RGB (hệ toạ độ dùng 3 màu cơ bản). Như đã nêu trên, một màu là tổ hợp của các màu cơ bản theo một tỉ lệ nào đấy. Như vậy, một pixel ảnh màu kí hiệu Px được viết: Px = (2.4) Người ta dùng hệ toạ độ ba màu R-G-B(tương ứng với hệ toạ độ x-y-z) để biểu diễn màu như sau: Do vậy ta có không gian màu RGB như hình vẽ dưới đây: Hình 2.6: Mô hình không gian màu RGB Trong cách biểu diễn này ta có công thức: R + G + B =1. Công thức này gọi là công thức Maxell. Mô hình không gian màu HSV. Thay vì chọn phần tử RGB để có màu mong muốn, người ta chọn các tham số màu:Hue,Saturation và Value. Mô hình không gian màu HSV có thể suy diễn từ mô hình RGB. Trong đó Hue: Bước sóng của ánh sáng. Value: Cường độ hay là độ chói ánh sáng. Saturation: Thước đo độ tinh khiết của ánh sáng. Hình 2.7 a: mô hình không gian màu HSV. Hình 2.7 b:Mô hình không gian màu HSV. Ngoài ra còn có một vài không gian màu khác mỗi không gian màu đều có những ứng dụng riêng. Tuy thuộc vào tính chất công việc mình làm gì mà ta chọn sủ dụng không gian màu đó. Giả sử như để nhận dạng màu thì thường hay dùng không gian màu HSV. Vì không gian màu HSV này phù hợp với nhận nhức của con người nên nó rất phù hợp cho nhận dạng màu sắc. 2.2.4 Những định dạng của ảnh. Ảnh thu nhận được sau quá trình số hóa thường được lưu lại cho các quá trình xử lý tiếp theo hay truyền đi. Trong quá trình truyền của kỹ thuật xử lý ảnh, tồn tại nhiều định dạng khác nhau từ ảnh đen trắng như định dạng IMG, ảnh đa cấp xám cho đến ảnh màu (BMP,JPEG,GIF). tùy thuộc định dạng khác nhau. Nhưng chúng đều tuân theo một cấu trúc chung nhất. Nhìn chung một tệp ảnh bất ký thường bao gồm các phần sau: Header: Là phần chứa các thông tin về kiểu ảnh, kích thước, độ phân giải, số bit dùng cho 1 pixel, cách mã hóa, vị trí bảng màu. Data Compression: Số liệu ảnh được mã hóa bởi kiểu mã hóa chỉ ra trong phần Header. Palette Color: Palette Color(bảng màu) không nhất thiết phải có ví dụ ảnh đen trắng. Nếu có bảng màu được sử dụng để hiển thị màu của ảnh. Một số các định dạng khác, cấu hình, đặc trưng của từng định dạng và các tham số. Header Data Compression Palette Color Hình 2.8: Cấu trúc chung của định dạng ảnh. Chương 3 ỨNG DỤNG XỬ LÝ ẢNH TRONG HỆ THỐNG MÁY PHÂN LOẠI MÀU SẮC 3.1 Nguyên tắc hoạt động của hệ thống phân loại cà phê theo màu sắc. Hình 3.1 là một mẫu cà phê còn lẫn các hạt xấu cần phải loại bỏ. Hạt tốt là các hạt có màu nâu đen, các hạt màu đỏ hoặc màu vàng là các hạt xấu cần loại bỏ. Mẫu ảnh này được chụp từ máy ảnh thương mại thường và có định dạng BITMAP. Hình 3.1: Ảnh mẫu hạt cà phê. Phương pháp truyền thống để phân biệt hạt cà phê xấu là dùng mắt thường và tay nhặt loại bỏ các hạt xấu. Phương pháp sàng được dùng để loại bỏ các hạt có kích thước không phù hợp hoặc các mảnh vỡ của hạt. Nhược điểm của phương pháp truyền thống là năng xuất thấp không phù hợp với khối lượng sản phẩm lớn và cách xác định hạt xấu mang tính chủ quan của từng công nhân. Trong thời gian gần đây, phương pháp dùng phần mềm để phân biệt màu sắc rất được ưa chuộng trong các máy phân tách cà phê cũng như nhiều loại sản phẩm nông nghiệp khác. Phương pháp này cho năng xuất rất cao, độ chính xác và đồng nhất của sản phẩm cao. Có nhiều phương pháp sử dụng phần mềm để xác định hạt cà phê xấu như: xác định hạt xấu thông qua biên, thông qua phân biệt màu sắc….. Phương pháp nhận dạng cà phê hạt xấu của IMI: Sơ đồ dưới đây mô tả chi tiết các bộ phận của một máy phân biệt cà phê hạt của IMI: Hình 3.2: Sơ đồ nguyên lý và bố trí các cụm thiết bị của máy OPSOTEC 5.0XX (foreground) và nền (background) tương đương màu hạt tốt bằng nguồn sáng phản xạ. Từ hình 3.2 trên ta thấy được nguyên tắc xử lý và tách cà phê hạt xấu ra ngoài. Chi tiết của quá trình này được thực hiện như sau: Các camera thu thập dữ liệu ảnh từng dòng quét một cách liên tục. Đây là bước quan trọng hàng đầu để đảm bảo nhận dạng đủ tín hiệu của từng hạt. Trong trường hợp lý tưởng, với dòng hạt một lớp (hạt không che nhau) chuyển động với tốc độ đều, quét bởi camera được chọn tần số quét thích hợp, ta sẽ thu thập được toàn bộ tín hiệu của mọi hạt. Sau bước này, chúng ta thu được dữ liệu ảnh được chứa trong bộ đệm. Bộ xử lý dữ liệu phân tích, xác định hạt và màu vào nhóm cần loại bỏ hay không căn cứ vào màu hạt rơi vào dải màu nào: đen, nâu,hay nền …Sau khi đã xác định được hạt xấu bước tiếp theo dùng phương pháp tách biên để tách hạt cà phê xấu ra khỏi nền. Tách biên mục đích để tìm trọng tâm của hạt xấu. Sau khi đã biết được trọng tâm của hạt cà phê xấu ta có thể dùng súng thổi để thổi hạt cà phê xấu ra ngoài. Trước tiên sử dụng bộ lọc trung bình để lọc bớt nhiễu. Sau đó mới dùng thuật toán dò biên để tìm ra được trọng tâm của hạt xấu. Sau đây là lưu đồ của thuật toán nhận dạng của IMI: Bắt đầu. Dò phát hiện biên theo phương pháp Gradient & đánh dấu biên. Xử lý tách hạt ra khỏi nền. Lọc nhiễu loại bỏ các pixel bất thường. Nhận dạng ra quyết định phân loại. Kết thúc. Hình 3.3: Lưu đồ của thuật toán nhận dạng của IMI. Từ lưu đồ thuật toán trên ta thấy bước xác định biên để từ đó tìm ra được vị trí của hạt xấu là bước quan trọng nhất cửa IMI làm thế nào để tìm ra được vị trí của hạt xấu một cách nhanh nhất. Họ chưa quan tâm đúng mức đến việc việc làm sao để chọn được các hạt xấu vì với thuật toán của IMI thì nhiều trường hợp khó phát hiện ra được hạt xấu. Phương pháp sử dụng nhận dạng cà phê hạt bằng màu sắc: bài toán này có đối tượng cụ thể với dải màu hạt xấu và đặt cho trước. Vấn đề chủ yếu của bài toán phân biệt màu hạt cà phê là phải đối phó với độ chiếu sáng vào hạt cà phê. Đây cũng chính là vấn đề chính để ta có thể phân biệt được hạt cà phê xấu. Dưới đây là sơ đồ chung cho quá trình hoạt động của hệ thống phân biệt màu hạt cà phê. Tọa độ hạt xấu xấu Đầu vào Bộ lọc trung bình Bộ chuyển đổi RGB->HSV. Phân ngưỡng Lọc nhiễu. Quyết định vị trí hạt xấu Hình 3.4: Sơ đồ hoạt động của hệ thống cà phê colour sorter. Để hệ thống này làm việc đạt được hiệu quả cao tức là phát hiện được vị trí hạt xấu nhanh nhất và chính xác bài toán này là xử lý từng khung (Frame ),tức là chia một ảnh mà ta chụp được thành các frame nhỏ. Sau khi xử lý hết frame này thì chuyển sang frame tiếp theo trình tự theo dòng chảy của hạt cà phê. Nếu phát hiện hạt xấu thì xác định vị trí của hạt xấu ở frame đó. Ngoài ra để nâng cao thêm tốc độ xử lý ảnh thì cần phải xử lý song song. Tức là khi ta vừa tiến hành thu nhận dữ liệu ảnh đồng thời ta cũng tiến hành xử lý dữ liệu ảnh. Nội dung cửa phương pháp này được minh họa trong hình vẽ dưới đây. Giả sử ảnh ta chia ảnh làm N frames thì thứ tự xử lý các frames theo chiều hướng sau: Thu nhận Frame 1 Thu nhận Frame 2 Thu nhận Frame 3 Thu nhận Frame 4 ………….. Thu nhận Frame N Xử lý Frame 1 Xử lý Frame 2 Xử lý Frame 3 Xử lý Frame 4 ………………… Hình 3.5: Chiều xử lý từng frame của một ảnh. Mục đích cuối cùng của hệ thống này là tìm được vị trí của hạt cà phê xấu trong từng frame. Ảnh mẫu trong bài toán này có định dạng BITMAP và có không gian màu chuẩn RGB. Vì các ảnh mẫu mà chúng ta nhận được thường bị ảnh hưởng bởi nhiễu, do vậy trước tiên khi thu nhận ảnh thì ta phải lọc bớt nhiễu, để nhiễu không ảnh hưởng nhiều đến quá trình xử lý ảnh. Có nhiều phương pháp được sử dụng để lọc nhiễu như lọc thông thấp, lọc trung bình và lọc trung vị…..trong phần này tôi xin nêu ra phương pháp dùng bộ lọc trung bình. 3.1.1 Lọc trung bình. Ảnh thu nhận được thường có hai nguồn nhiễu chính đó là: Nhiễu muối tiêu và nhiễu cuộn. Nhiễu muối tiêu xuất hiện khi một hình ảnh được mã hóa và truyền qua một kênh có nhiễu hoặc ồn điện tử. Nhiễu cuộn là nhiễu do thấu kính không hội tụ, sự chuyển động, hoặc sự nhiễu loạn khí quyển trong những điều kiện thời tiết bất lợi. Cả hai nguồn nhiễu này phân bố ở các thành phần tần số cao, như giữa các điểm có độ xám khác biệt nhiều với điểm xung quanh có thể coi đó là một xung của tần số cao. Để loại đi các loại nhiễu trong trường hợp bộ lọc trung bình dược sử dụng. Sau khi cho ảnh qua bộ lọc trung bình thì ảnh đã được lọc đi một phần nhiễu. Bước tiếp theo của quá trình xử lý ảnh trong hệ thống này là chuyển đổi không gian màu sao cho phù hợp với thị giác của con người giúp cho chương trình có thể phân biệt màu sắc một cách tốt nhất. Dưới đây là bộ chuyển đổi không gian màu từ RGB sang HSV. 3.1.2 Bộ chuyển đổi RGB sang HSV. Ảnh mà thu nhận về thường là ảnh BITMAP và có không gian chuẩn RGB, nhưng không gian màu RGB không phù hợp cho việc nhận dạng màu sắc vì không gian màu RGB không phù hợp với thị giác của con người. Để khắc phục điều trên thì ta dùng một không gian HSV (hue, saturation and value), không gian màu này thu được từ không gian RGB. dựa vào không gian màu HSV ảnh sẽ được phân ngưỡng cho ảnh để tìm các hạt xấu. 3.1.3 Phân ngưỡng. Để xác định vị trí của hạt cà phê xấu yêu cầu phân ngưỡng cho ảnh dựa trên không gian màu HSV. Đây là bước tìm ngưỡng hạt xấu. Các hạt vượt qua ngưỡng này được đánh dấu bằng màu trắng, tất cả các điểm còn lại đánh dấu bằng màu đen. Do vậy, sau quá trình tìm ngưỡng chúng ta thu được ảnh nhị phân chỉ với hai mức đen và trắng. Các ảnh nhị phân này thường bị ảnh hưởng bởi nhiễu nên yêu cầu thực hiện lọc nhiễu sau khi phân ngưỡng. 3.1.4 Lọc nhiễu. Lọc nhiễu ở đây là tìm các đối tượng nhỏ mà được coi không phải là hạt xấu. Đó chỉ là nhiễu mắc phải. Vậy nên chúng ta phải loại bỏ nhiễu này để tránh nhầm lẫn với các hạt xấu. Sau quá trình phân ngưỡng cho ảnh về bản chất, ảnh lúc này chỉ là ảnh nhị phân. Do ảnh gốc ban có nhiễu dù đã được lọc đi từ bước trước, song nhiễu vẫn còn hoặc nhiễu do ảnh hưởng của độ không đồng nhất màu trong chính một hạt cà phê. Đây là nguyên nhân chính gây nên nhiễu ảnh hưởng đến quá trình xác định vị trí hạt cà phê xấu. 3.1.5 Quyết định vị trí hạt xấu. Sau khi đã lọc nhiễu việc quan trọng là xác được vị trí của những hạt cà phê xấu. Mục đích chính là xác định được trọng tâm của hạt xấu đó. Thuật toán ở phần sau sẽ thể hiện cách xác định trọng tâm của hạt cà phê xấu. 3.2 Cài đặt thuật toán. 3.2.1 Bộ lọc trung bình. Đầu vào (RGB) Đầu ra (RGB) Bộ lọc trung bình Hình 3.6: Sơ đồ hoạt động của bộ lọc trung bình. Bộ lọc trung bình là bộ lọc mà mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận. Để thực hiện được bộ lọc trung bình này phải dựa trên phép xử lý vùng ảnh. Phép xử lý vùng ảnh sử dụng những pixel lân cận nhau của ảnh đầu vào I(i,j) để tạo ra một pixel của ảnh đầu ra . Phép xử lý vùng ảnh chủ yếu dựa trên phép nhân chập. Phương trình biểu diễn toán học của phép toán nhân chập được áp dụng để tính bộ lọc trung bình ảnh I(i, j) với mặt nạ: . (3.1) trong đó:W(k,l) là mặt nạ nhân chập và là ma trận vuông (2r+1)*(2r+1), N là số phần tử trong mặt nạ. Với mỗi pixel I(i, j) tương ứng ta có thể suy ra được pixel tương ứng. Ở đây ta xét mặt nạ 3x3 khi đó ta có lân cận của I(i, j) là từ I1 tới I8.Và trọng số mặt nạ từ w0 đến w8 tức là có 9 phần tử khi đó ta có N=9 Hình sau đây mô tả việc thực hiện phép toán trên. M0 M1 M2 M3 M4 M5 M5 M6 M7 ´ mặt nạ nhân chập ảnh đầu vào I0´M0 I1´M1 I2´M2 I3´M3 I4´M4 I5´M5 I6´M6 I7´M7 I’(i,j)=I’(i, j)/9 + ảnh đầu ra I0 I1 I2 I3 I I5 I6 I7 I8 của sổ nhân chập Hình 3.7: Sơ đồ mô tả thuật toán bộ lọc trung bình. Dưới đây là thuật toán tổng quát để tính bộ lọc trên : for i=1 to HEGHT for j=1 to WIDTH sum=0; for k=-r to r for l=-r to r Col=i-k;Row=j-l if ((Col>0) and (Col <M)) then if( (Row>0) and (Row <N)) then sum= sum + I[Col,Row] * H[k,l]; (3.2) I’[i,j]= *Sum (3.3) I’(i, j): là đầu ra của ảnh sau khi cho qua bộ lọc trung bình. I(i, j):là ảnh đầu vào trước khi đưa vào bộ lọc trung bình. H(k,l) :là mặt nạ của bộ lọc trung bình. HEIGHT: là chiều dài của ảnh. WIDTH: là chiều rộng của ảnh. Bộ lọc trung bình có trọng số chính là thực hiện chập ảnh đầu vào với mặt nạ. Mặt nạ H trong trường hợp này có kích thước 3x3 là: (3.4) (3.5 Code của chương trình này là. for (i = 1; i < height-1; i++) for (j = 1; j < width-1; j++) { psrc[i* bytewidth+3*j+1]= (pdest[(i-1)* bytewidth+3*(j-1)+1]+ pdest[(i-1)* bytewidth+3*j+1]+ pdest[(i-1)* bytewidth+3*(j+1)+1]+ pdest[i* bytewidth+3*(j-1)+1]+ pdest[i* bytewidth+3*j+1]+ pdest[i* bytewidth+3*(j+1)+1] + pdest[(i+1)* bytewidth+3*(j-1)+1]+ pdest[(i+1)* bytewidth+3*j+1]+ pdest[(i+1)* bytewidth+3*(j+1)+1])/9; } Kết quả của phép toàn này được cho ra kết quả dưới hình 3.8(a) là ảnh đầu vào còn hình 3.8(b) là ảnh ra khỏi bộ lọc trung bình được thể hiện như dưới hình sau đây: a) b) Hình 3.8: a: Ảnh RGB gốc b:Ảnh RGB đã qua lọc. Từ hình trên ta thấy ảnh đã lọc đi được một phần nhiễu so với ảnh đầu vào trước khi chưa cho qua bộ lọc trung bình. 3.2.2 Chuyển đổi không gian màu từ RGB sang HSV. Việc chuyển đổi không gian màu từ RGB sang HSV là hoàn toàn cần thiết cho việc nhận biết màu sắc. Bởi vì không gian màu HSV là không gian màu phù hợp với mắt người. Ta có sơ đồ chuyển đổi không gian màu là. Đầu vào (RGB) Đầu ra (HSV) Bộ chuyển đổi RGB ->HSV Hình 3.9: Sơ đồ bộ chuyển đổi RGB sang HSV. Đối với mới điểm ảnh đều được biểu diễn bằng ba màu cơ bản RGB. Từ đầu vào là không gian màu RGB ta có để tìm không gian màu của HSV như sau: B1: tìm giá trị max, min của (R,G,B) tương ứng với từng điểm ảnh một. Nếu max(R,G,B)=min(R,G,B) thì S=H=0. Ngược lại thì thực hiện B2 ,B3 sau đây. B2: gán giá trị của V là: V=max(R,G,B) (3.6) B3:gắn giá trị của S là: (3.7) B4: tìm H trong các trường hợp sau: Nếu :max(R,G,B)=R. Và nếu G>=B thì (3.8) Ngược lại G<B thì (3.9) Nếu :max(R,G,B)=G thì (3.10) Nếu :max(R,G,B)=B thì (3.11) Code của chương trình này là. minRGB=min3(R,G,B); maxRGB=max3(R,G,B); if(maxRGB==minRGB) { S=H=0; V=maxRGB=minRGB; } else { V=maxRGB; S=(maxRGB-minRGB)*255/maxRGB; if (maxRGB==R if (G>=B) { H= ((G-B)*60/S); } else { H=360+((G-B)*60/S); } } else if((maxRGB==G)) { H=120+(G-B)*60/S; } else { H=(240+((R-G)*60)/S); } Kết quả của chương trình bộ chuyển đổi RGB sang HSV với nguồn ảnh đầu vào là ảnh ở hình 3.8(b) ( ảnh đã ra khỏi bộ lọc trung bình ) được thể hiện ở hình vẽ dưới đây. Hình 3.10: Ảnh khi được chuyển đổi sang HSV. Từ hình 3.10 ta thấy ảnh đã được chuyển từ không gian màu RGB sang HSV. 3.2.3 Phân ngưỡng. Đầu vào Đầu ra Phân ngưỡng Hình 3.11: Sơ đồ bộ phân ngưỡng. Như đã giới thiệu ở phần trên ảnh cà phê thu được thường có chứa hạt cà phê xấu, tốt và background gọi chung là object và background. Nếu ảnh cà phê thu được chỉ đơn thuần không chịu tác động bởi cường độ chiếu sáng. Thì khi đó chúng ta hoàn hoàn toàn đơn giản trong việc tách ngưỡng. Lúc đó để tách ngưỡng ta chỉ quan tâm đến màu của hạt xấu. Vì mẫu vật xấu đều đã biết được cho nên ta đã biết được màu của hạt xấu nằm trong dải màu nào từ đó ta gắn cố định dải màu đó. Dựa vào đó chúng ta có thể tách được hạt xấu trong ảnh mà ta thu được. Do vậy, ta phải xây dựng một thư viện để xác định các loại hạt xấu. Dựa vào thư viện này ta có thể xác định được hạt xấu xuất hiện trong ảnh. Song trong

Các file đính kèm theo tài liệu này:

  • docnhan dang va dinh vi ca phe hat bang mau sac cua son V2.doc
  • docbia khoa luan tot nghiep.doc