1. Trang chủ
  2. » Thể loại khác

BÁO CÁO ĐỒ ÁN CƠ CỞ 5 ĐỀ TÀI : NHẬN DIỆN KHUÔN MẶT SỬ DỤNG OPENCV. Giảng viên hướng dẫn: NGUYỄN ANH TUẤN

36 28 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 2,4 MB

Nội dung

Trang 1

ĐẠI HỌC CÔNG NGHỆ THÔNG TINVÀ TRUYỀN THÔNG VIỆT HÀN

Trang 2

BÁO CÁO ĐỒ ÁN CƠ CỞ 5ĐỀ TÀI : NHẬN DIỆN KHUÔN MẶT

SỬ DỤNG OPENCVSinh viên thực hiện: Đinh Văn Thảo – 18IT037

Đào Đức Thiện – 18IT038 Giảng viên hướng dẫn: NGUYỄN ANH TUẤN

Lớp: 18IT1

Đà nẵng, tháng 5 năm 2021

Trang 3

MỞ ĐẦULý do chọn đề tài

Một trong những bài toán được nhiều người quan tâm nhất của lĩnhvực xử lý ảnh hiện nay đó là nhận dạng khuôn mặt (Face Recognition) Nhưchúng ta đã biết, khuôn mặt đóng vai trò quan trọng trong quá trình giaotiếp giữa người với người, nó mang một lượng thông tin giàu có, chẳng hạnnhư từ khuôn mặt chúng ta có thể xác định giới tính, tuổi tác, chủng tộc,trạng thái cảm xúc, đặc biệt là xác định mối quan hệ với đối tượng (có quenbiết hay không) Do đó, bài toán nhận dạng khuôn mặt đóng vai trò quantrọng trong nhiều lĩnh vực đời sống hằng ngày của con người như các hệthống giám sát, quản lý vào ra, tìm kiếm thông tin một người nổi tiếng,…đặc biệt là an ninh, bảo mật Có rất nhiều phương pháp nhận dạng khuônmặt để nâng cao hiệu suất tuy nhiên dù ít hay nhiều những phương phápnày đang vấp phải những thử thách về độ sáng, hướng nghiêng, kích thướcảnh, hay ảnh hưởng của tham số môi trường

Bài toán Nhận diện khuôn mặt (Face Recognition) bao gồm nhiều bàitoán khác nhau như: phát hiện mặt người (face detection), đánh dấu (faciallandmarking), trích chọn (rút) đặc trưng (feature extration), gán nhãn, phânlớp (classification) Trong thực tế, nhận dạng khuôn mặt người (FaceRecognition) là một hướng nghiên cứu được nhiều nhà khoa học quan tâm,nghiên cứu để ứng dụng trong thực tiễn Ở các trường đại học hàng đầu vềCông Nghệ Thông Tin như Massachusetts Institute of Technology (MIT),Carnegie Mellon University (CMU), Standford, Berkeley và các công tylớn như Microsoft, Apple, Google, Facebook đều có các trung tâm về sinhtrắc học (Biometrics Center) và nghiên cứu về nhận dạng khuôn mặt ngườivà nó đã trở thành một trong những lĩnh vực nghiên cứu chính cho đến nay.Gần đây, công ty Hitachi Kokusai Electric của Nhật mới cho ra đời mộtcamera giám sát, có thể chụp ảnh và tìm ra 36 triệu khuôn mặt khác có néttương tự trong cơ sở dữ liệu chỉ trong vòng một giây

Có hai phương pháp nhận dạng phổ biến hiện nay là nhận dạng dựatrên đặc trưng của các phần tử trên khuôn mặt như biến đổi Gabor Waveletvà mạng Neural, SVM,…và nhận dạng dựa trên xét tổng thể toàn khuônmặt như phương pháp PCA, LDA, LFA Trong đó, PCA là phương pháptrích rút đặc trưng nhằm giảm số chiều của ảnh tuy đơn giản nhưng manglại hiệu quả tốt Hệ thống hoạt động ổn định và có tính thích nghi cao khi

Trang 4

Đối tượng và phạm vi nghiên cứu

a) Đối tượng: - Các phương pháp, thuật toán phục vụ cho việc phát hiện và nhận dạngkhuôn mặt người trên ảnh

- Bộ thư viện xử lý ảnh OpenCv và công cụ hỗ trợ EmguCv - Bộ CSDL chuẩn Yalefaces, ngoài ra có thêm bộ CSDL sinh viên tự thuthập

b) Phạm vi nghiên cứu: - Tập trung tìm hiểu nhận dạng khuôn mặt (Face Recognition) chứ khôngchú trọng tìm hiểu phát hiện khuôn mặt (Face Detection)

- Việc xử lý ảnh, nhận dạng khuôn mặt thỏa mãn các điều kiện:

Ánh sáng bình thường, ngược sáng, ánh sáng đèn điện (Với bộCSDL tự thu thập)

Góc ảnh: Trực diện (frontal) hoặc góc nghiêng không quá 10o Không bị che khuất (no occulusion)

Ảnh có chất lượng cao (high quality images)

Trang 5

LỜI CẢM ƠN

Để thực hiện và hoàn thành tốt đồ án này, em đã nhận được sự giúp đỡ vàhướng dẫn rất tận tình của các thầy cô thuộc Đại học Công Nghệ Thông Tin VàTruyền Thông Việt Hàn Em xin cảm ơn các thầy cô thuộc bộ môn chuyênngành đã cung cấp cho chúng em các thông tin, kiến thức vô cùng quý báu vàcần thiết trong suốt thời gian quá để em có thể thực hiện và hoàn thành đồ án củamình Đặc biệt em xin chân thành cảm ơn thầy Trần Thế Sơn người đã trực tiếphướng dẫn chúng em trong thời gian thực hiện đồ án này

Cuối cùng, xin chân thành cảm ơn các bạn trong ngành công nghệ thôngtin đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được giúpchúng tôi trong quá trình nghiên cứu và thực hiện đề tài

Vì lí do giới hạn về mặt thời gian và kiến thức cũng như kinh nghiệm thựctiễn nên đề tài không tránh khỏi những sai xót Em rất mong nhận được sự thôngcảm của quý thầy cô và mong đón nhận những góp ý của thầy cô và các bạn

Em xin chân thành cảm ơn!

Trang 6

NHẬN XÉT(Của giảng viên hướng dẫn)

Trang 7

MỤC LỤCTrangMục đích đề tài

Lý do chọn đề tài

Đối tượng và phạm vi nghiên cứu

Chương 1 GIỚI THIỆU 1

1.1 Bài toán nhận dạng mặt người và những khó khăn 1

1.1.1 Bài toán nhận dạng mặt người 1

1.1.2 Những khăn của hệ thống nhận dạng khuôn mặt 1

1.2 Tổng quan kiến trúc của một hệ thống nhận dạng mặt người 2

Chương 3 Làm quen với thư viện Open CV 10

3.1 Giới thiệu về OpenCV 10

4.1.1 Phương pháp Haar like-Adaboost trong Opencv 18

4.1.2 Chương trình đơn giản phát hiện khuôn mặt bằng python 18

Chương 5 Xây dựng chương trình Mô Phỏng 23

5.2.4 Thiết kế cơ sở dữ liệu 28

5.2.5 Thiết kế giao diện chương trình 28

Chương 6 Kết luận 30

Trang 8

Chương 2 GIỚI THIỆU2.1 Bài toán nhận dạng mặt người và những khó khăn2.1.1 Bài toán nhận dạng mặt người

Hệ thống nhận dạng mặt người là một hệ thống nhận vào là một ảnhhoặc một đoạn video (một dòng các hình ảnh liên tục) Qua xử lý, tính toánhệ thống xác định được vị trí mặt người (nếu có) trong ảnh và xác định làngười nào trong số những người mà hệ thống đã được biết (qua quá trìnhhọc) hoặc là người lạ

Hình 1 Hệ thống nhận dạng mặt người

2.1.2 Những khăn của hệ thống nhận dạng khuôn mặt.

Bài toán nhận dạng mặt người là bài toán đã được nghiên cứu từnhững năm 70 Tuy nhiên, đây là một bài toán khó nên những nghiên cứuhiện tại vẫn chưa đạt được những kết quả mong muốn Chính vì thế, vấn đềnày vẫn đang được nhiều nhóm trên thế giới quan tâm nghiên cứu Khókhăn của bài toán nhận dạng mặt người có thể kể đến như sau:

a.Tư thế chụp, góc chụp: Ảnh chụp khuôn mặt có thể thay đổi rấtnhiều bởi vì góc chụp giữa camera và khuôn mặt Chẳng hạn như : chụpthẳng, chụp chéo bên trái 45 độ hay chụp chéo bên phải 45 độ, chụp từ trênxuống, chụp từ dưới lên,V.v… Với các tư thế khác nhau, các thành phần

Trang 9

trên khuôn mặt như mắt, mũi, miệng, có thể bị khuất một phần hoặc thậmchí khuất hết.

b Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt: các đặctrưng như : râu mép, râu hàm, mắt kính,v.v… có thể xuất hiện hoặc không.Vấn đề này làm cho bài toán càng trở nên khó hơn rất nhiều

c.Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt con người cóthể làm ảnh hưởng đáng kể lên các thông số của khuôn mặt Chẳng hạn,cùng một khuôn mặt một người, nhưng có thể sẽ rất khác khi họ cười hoặcsợ hãi, v.v…

d Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượngkhác hoặc các khuôn mặt khác

e Hướng của ảnh (pose variations): Các ảnh khuôn mặt có thể biếnđổi rất nhiều với các góc quay khác nhau của trục camera Chẳng hạn chụpvới trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục củaảnh

f Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhauvề: chiếu sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại,v.v…), ảnh có chất lượng thấp ảnh hưởng rất nhiều đến chất lượng ảnhkhuôn mặt

g Aging condition: Việc nhận dạng ảnh mặt thay đổi theo thời giancòn là một vấn đề khó khăn, ngay cả đối với khả năng nhận dạng của conngười

h Các hệ thống cực lớn (very large scale systems): Các CSDL ảnhmặt được test bởi các nhà nghiên cứu còn khá nhỏ (vài trăm tới vài chụcnghìn ảnh mặt), tuy nhiên trên thực tế các CSDL có thể rất lớn, ví dụ CSDLảnh mặt của cảnh sát của một đất nước có thể chứa từ hàng triệu tới hơn 1 tỉảnh…

2.2 Tổng quan kiến trúc của một hệ thống nhận dạng mặt người

Một hệ thống nhận dạng mặt người thông thường bao gồm bốn bước xửlý sau:

1 Phát hiện khuôn mặt (Face Detection) 2 Phân đoạn khuôn mặt (Face Alignment hay Segmentation) 3 Trích chọn đặc trưng (Feature Extraction)

4 Nhận dạng (Recognition) hay Phân lớp khuôn mặt (FaceClasaification)

Hình 2 Các bước chính trong một hệ thống nhận dạng khuôn mặt

Trang 10

Phát hiện khuôn mặt dò tìm, định vị những vùng (vị trí) có thể là khuônmặt xuất hiện trong ảnh hoặc các frame video Các vùng này sẽ được táchriêng để xử lý Phân đoạn khuôn mặt sẽ xác định vị trí mắt mũi, miệng vàcác thành phần khác của khuôn mặt và chuyển kết quả này cho bước tríchchọn đặc trưng Ở bước trích chọn đặc trưng, bằng một phương pháp tríchchọn đặc điểm nào đó (mẫu nhị phân cục bộ-Local Binary Pattern-LBP,Gabor wavelets…) sẽ được sử dụng với ảnh mặt để trích xuất các thông tinđặc trưng cho ảnh từ các thông tin về các thành phần trên khuôn mặt, kếtquả là mỗi ảnh sẽ được biểu diễn dưới dạng một vector đặc trưng (featurevector) Những vecto đặc trưng này sẽ là dữ liệu đầu vào cho một mô hìnhđã được huấn luyện trước để nhận dạng khuôn mặt (Face Recognition) hayphân lớp khuôn mặt (Face Classifition), tức là xác định danh tính (identity)hay nhãn của ảnh-đó là ảnh của ai Ở bước nhận dạng khuôn mặt (FaceRecognition), thường thì phương pháp k-láng giềng gần (k-nearestneighbor:kNN) sẽ được sử dụng

Bên cạnh những bước chính nêu trên, chúng ta còn có thể áp dụng thêmmột số bước khác như tiền xử lý, hậu xử lý nhằm làm tăng độ chính xác chohệ thống Ví dụ, sau bước phát hiện khuôn mặt, ta có thể thực hiện bướctiền xử lý (Preprocessing) bao gồm các bước căn chỉnh ảnh (face imagealignment) và chuẩn hóa ánh sáng (illumination normalization)

Do một số thông số như: tư thế khuôn mặt, độ sáng, điều kiện ánh sáng,v.v… phát hiện khuôn mặt được đánh giá là bước khó khăn và quan trọngnhất so với các bước còn lại của hệ thống Tuy nhiên, trong phạm vi đồ ánnày, không tập trung tìm hiểu bước phát hiện khuôn mặt mà chỉ tập trungchủ yếu vào bước nhận dạng khuôn mặt

Dữ liệu cho một hệ thống nhận dạng mặt được chia làm 3 tập: tập huấnluyện (training set), tập tham chiếu (reference set haygallery set) và tập đểnhận dạng (probe set hay query set, đôi khi còn gọi là test set) Trong nhiềuhệ thống, tập training trùng với tập reference Tập training gồm các ảnhđược dùng để huấn luyện (hay học-learning), thông thường tập này đượcdùng để sinh ra một không gian con (projection subspace) là một ma trận vàphương pháp hay được sử dụng là PCA (Principal Component Analysis),WPCA (Whitened PCA), LDA (Linear Discriminant Analysis), KPCA(Kernel PCA) Tập reference gồm các ảnh đã biết danh tính được chiếu(projected) vào không gian con ở bước training Bước training nhằm 2 mụcđích: giảm số chiều (dimension reduction) của các vector đặc điểm (featurevector) vì các vector này thườngcó độ dài khá lớn (vài nghìn tới vài trămnghìn) nên nếu để nguyên thì việc tính toán sẽ rất rất lâu, thứ hai là làmtăng tính phân biệt (discriminative) giữa các ảnh khác lớp (định danh khácnhau), ngoài ra có thể làm giảm tính phân biệt giữa các ảnh thuộc về mộtlớp (tùy theo phương pháp, ví dụ như Linear Discriminant Analysis LDA-còn gọi là Fisher Linear Discriminant Analysis-Fisherface là một phươngpháp làm việc với tập training mà mỗi đối tượng có nhiều ảnh mặt ở cácđiều kiện khác nhau) Sau khi thực hiện chiếu tập reference vào không giancon, hệ thống lưu lại kết quả là một ma trận với mỗi cột của ma trận là một

Trang 11

vector tương ứng với ảnh (định danh đã biết) để thực hiện nhận dạng (hayphân lớp) Nhận dạng (hay phân lớp) được thực hiện với tập các ảnh probe,sau khi tiền xử lý xong, mỗi ảnh sẽ được áp dụng phương pháp trích chọnđặc điểm (như với các ảnh thuộc tập training và reference) và được chiếuvào không gian con Tiếp đến việc phân lớp sẽ dựa trên phương pháp k-NN,định danh của một ảnh cần xác định sẽ được gán là định danh của ảnh cókhoảng cách (distance) gần với nó nhất Ở đây cần lưu ý là mỗi ảnh là mộtvector nên có thể dùng khái niệm hàm khoảng cách giữa hai vector để đo sựkhác biệt giữa các ảnh.

2.2.1 Ngôn ngữ lập trình

Để giải quyết bài toán nhận dạng khuôn mặt sử dụng thư viện OpenCV,chúng ta có thể sử dụng các ngôn ngữ lập trình như: NET C#, VB,IronPython, Java, C++…

Trong đồ án này ngôn ngữ lập trình được sử dụng là NET C#, viết trênphần mềm Visual Studio 2013

Trang 12

Chương 3 Tổng quan về xử lý ảnh3.1 Xử lý ảnh, các vấn đề cơ bản trong xử lý ảnh3.1.1 Xử lý ảnh là gì ?

Con người thu nhận thông tin qua các giác quan, trong đó thị giácđóng vai trò quan trọng nhất Những năm trở lại đây với sự phát triển củaphần cứng máy tính, XLA và đồ họa đã phát triển một cách mạnh mẽ và cónhiều ứng dụng trong cuộc sống XLA và đồ họa đóng vai trò quan trọngtrong tương tác người máy.[3]

Quá trình XLA được xem như là quá trình thao tác ảnh đầu vàonhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình XLA cóthể là một ảnh “tốt hơn” hoặc một kết luận

Hình 3 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 xemnhư là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một 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ếnP(c1, c2, …, cn) Do đó, ảnh trong XLA có thể xem như ảnh n chiều Sơ đồtổng quát của một hệ thống XLA:

a Phần thu nhận ảnh (Image Acquisition)

Ảnh có thể nhận qua camera màu hoặc đen trắng Thường thì ảnhnhậ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

Trang 13

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, môi trường(ánh sáng, thời tiết)

b Tiền xử lý (Image Processing)

Sau bộ thu nhận, ảnh có thể bị nhiễu, độ tương phản thấp nên cần đưavà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õ, nét hơn

c Phân đoạn (Segmentation) hay phân vùng ảnh

Phân vùng ả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 XLA vàcũng dễ gây 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

d Biểu diễn ảnh (Image Representation)

Đầu ra ả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 chọn các tínhchất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn vớiviệ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àmcơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnhnhận được Ví dụ: trong nhận dạng ký tự trên phong bì thư, chúng ta miêutả 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

e Nhận dạng ảnh và nội suy ảnh (Image Recognition andInterpretation)

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ạtchữ 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ếtvề nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhậndạng ảnh cơ bản:

- 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 ápdụ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ạngmã vạch, nhận dạng mặt người…

f 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éotheo nhiễu Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giảnhóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mongmuốn bắt chước quy trình tiếp nhận và XLA theo cách của con người

Trang 14

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

g Mô tả (biểu diễn ảnh)

Từ hình 5, ảnh sau khi số hóa sẽ được lưu vào bộ nhớ, hoặc chuyểntiếp 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ã hóa) theo các đặc điểm của ảnh được gọilà các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh(Region) Một số phương pháp biểu diễn thường dùng:

- Biểu diễn bằng mã chạy (Run-Length Code) - Biểu diễn bằng mã xích (Chaine-Code) - Biểu diễn bằng mã tứ phân (Quad-Tree CodeTrên đây là các thành phần cơ bản trong các khâu XLA Trong thựctế, các quá trình sử dụng ảnh số không nhất thiết phải qua hết các khâu đó,tùy theo đặc điểm ứng dụng Hình 5 cho sơ đồ phân tích, XLA và lưu đồthông tin giữa các khối một cách khá đầy đủ Ảnh sau khi số hóa, được nén,lưu lại để truyền qua các hệ thống khác sử dụng hoặc xử lý tiếp theo Mặtkhác, ảnh sau khi số hóa có thể bỏ qua công đoạn nâng cao chất lượng (khiảnh đủ chất lượng theo một yêu cầu nào đó) để chuyển tới khâu phân đoạnhoặc bỏ tiếp khâu phân đoạn chuyển trực tiếp tới khâu trích chọn đặc trưng.Hình 5 cũng chia các nhánh song song như: nâng cao chất lượng ảnh có hainhánh phân biệt: nâng cao chất lượng ảnh (tăng độ sáng, độ tương phản, lọcnhiễu) hoặc khôi phục ảnh (hồi phục lại ảnh thật khi ảnh gốc bị hỏng) v.v…

Hình 5 Sơ đồ phân tích, xử lý ảnh và lưu đồ thông tin giữa các khối

3.1.2 Các vấn đề cơ bản trong xử lý ảnh

Một số khái niệm cơ bản

- Điểm ảnh :Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng.Để xử lý được bằng máy tính (số), ảnh cần phải được số hóa Số hóa ảnh làsự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnhthật về vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa cácđiểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh

Trang 15

giới giữa chúng Mỗi một điểm như vậy gọi là điểm ảnh (PEL: PictureElement) hay gọi tắt là Pixel Trong khuôn khổ ảnh hai chiều, mỗi pixelứng với cặp tọa độ (x, y)

Định Nghĩa: Điểm ảnh (Pixcel) là một phần tử của ảnh số tại tọa độ(x, y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa cácđiểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tụcvề không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗimột phần tử trong ma trận được gọi là một phần tử ảnh.

- Độ phân giải của ảnh

Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh đượcấn định trên một ảnh số được hiển thị.

Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn saocho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảngcách thích hợp tạo nên một mật độ phân bổ đó chính là độ phân giải vàđược phân bố theo trục x và y trong không gian hai chiều

Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color GraphicAdaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc* 200 điểm ảnh (320*200) Rõ ràng, cùng màn hình CGA 12 “ta nhận thấymịn hơn màn hình CGA 17” độ phân giải 320*200 Lý do: cùng một mật độ(độ phân giải) nhưng diện tích mà hình rộng hơn thì độ mịn (liên tục củacác điểm) kém hơn

- Mức xám của ảnh.Một điểm ảnh (pixcel) có hai đặc trưng cơ bản là vị trí (x, y) củađiểm ảnh và độ xám của nó Dưới đây chúng ta xem xét một số khái niệmvà thuật ngữ thường dùng trong XLA

 Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nóđược gán bằng giá trị số tại điểm đó

 Các thang mức xám thông thường: 16,32,64,128, 256 (Mức 256 làmức phổ dụng Lý do: từ kỹ thuật máy tính dùng 1 byte (8bit) để biểu diễnmức xám: Mức xám dùng 1 byte biểu diễn: 28 = 256, tức là từ 0 đến 255)

 Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa mầukhác) với mức xám ở các điểm ảnh có thể khác nhau

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

 Ảnh màu: Trong khuôn khổ lý thuyết 3 màu (Red, Blue, Green) để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*3 = 224 ≈ 16,7 triệu màu

 Định nghĩa ảnh sốẢnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng đểmô tả ảnh gần với ảnh thật

Trang 16

Chương 4 Làm quen với thư viện Open CV

 Giới thiệu về OpenCV Hướng dẫn cách sử dụng Tổng kết chương

4.1 Giới thiệu về OpenCV4.1.1 OpenCV là gì ?

OpenCv (Open Source Computer Vision) là một thư viện mã nguồnmở về thị giác máy với hơn 500 hàm và hơn 2500 các thuật toán đã đượctối ưu về XLA, và các vấn đề liên quan tới thị giác máy OpenCv được thiếtkế một cách tối ưu, sử dụng tối đa mạnh của các dòng chip đa lõi… để thựchiện các phép tính toán trong thời gian thực, nghĩa là tốc độ đáp ứng của nóthể đủ nhanh cho các ứng dụng thông thường

OpenCv là thư viện được thiết kế để chạy trên nhiều nền tảng khácnhau (cross-platform), nghĩa là nó có thể chạy trên hệ điều hành Window,Linux, Mac, iOS… Việc sử dụng thư viện OpenCv tuân theo các quy địnhvề sử dụng phần mềm mã nguồn mở BSD do đó bạn có thể sử dụng thưviện này một cách miễn phí cho các mục đích phi thương mại lẫn thươngmại

Dự án về OpenCv được khởi động từ những năm 1999, đến năm2000 nó được giới thiệu trong một hội nghị của IEEE về các vấn đề trongthị giác máy và nhận dạng, tuy nhiên bản OpenCV 1.0 mãi tới tận năm2006 mới chính thức được công bố và năm 2008 bản 1.1 (prerelease) mớiđược ra đời Tháng 10 năm 2009, bản OpenCV thế hệ thứ hai ra đời(thường gọi là phiên bản 2.x), phiên bản này có giao diện của C++ (khácvới phiên bản trước có giao diện của C) và có nhiều điểm khác biệt so vớiphiên bản thứ nhất

Thư viện OpenCV ban đầu được sự hỗ trợ từ Intel, sau đó được hỗtrợ bởi Willow Garage, một phòng thí nghiệm chuyên nghiên cứu về côngnghệ robot Cho đến nay, OpenCV vẫn là thư viện mở, được phát triển bởinguồn quỹ không lợi nhuận (none-profit foundation) và được sự hưởng ứngrất lớn của cộng đồng

4.1.2 Cấu trúc tổng quan

Cấu trúc tổng quan của OpenCv bao gồm 5 phần chính Hình vẽ dướiđây, mô tả 4 trong 5 thành phần đó

Trang 17

Hình 7 Các thành phần của thư viện Open CV

Phần CV bao gồm các thư viện cơ bản về XLA và các giải thuật vềthị giác máy tính MLL là bộ thư viện về các thuật toán học máy, bao gồmrất nhiều bộ phân cụm và phân loại thống kê HighGUI chứa đựng nhữngthủ tục vào ra, các chức năng về lưu trữ cũng như đọc các file ảnh và video.Phần thứ 4, Cxcore chứa đựng các cấu trúc dữ liệu cơ bản (ví dụ như cấutrúc XML, các cây dữ liệu…) Phần cuối cùng là CvAux, phần này baogồm cá thư viện cho việc phát hiện, theo dõi và nhận dạng đối tượng(khuôn mặt, mắt…)

4.2 Hướng dẫn sử dụng các thư viện của OpenCV.

Để sử dụng các thư viện của OpenCV, có thể tải về một bản cài đặt

http://sourceforge.net/projects/opencvlibrary/ để tải về phiên bản mới nhất.Sau khi tải về, tiến hành cài đặt bình thường, với thư mục mặc định là C:\Emgu Sau đó, cần tiến hành tùy chỉnh để có thể làm việc với OpenCV quahai IDE thông dụng là Microsoft Visual Studio hoặc Eclipse CDT Tuynhiên, việc tùy chỉnh này có thể gây khó khăn cho một số người mới bắtđầu, vì vậy, ở đây trình bày một cách khác để có thể sử dụng các thư việncủa OpenCV Đó chính là sử dụng gói phần mềm EmguCV

EmguCV là một gói bao bên ngoài (wrapper) thư viện xử lý ảnhOpenCV của Intel, cho phép lập trình viên có thể gọi các hàm của OpenCVtừ trong các ngôn ngữ NET C#, VB, IronPython… Gói này có thể đượcbiên dịch trong Mono và chạy trên Linux / Mac OS X

Việc sử dụng và lập trình với EmguCV cũng rất đơn giản, chỉ cầnthêm các file DLL trong thư mục cài đặt của EmguCV vào chương trình C#thì có thể gọi tất cả các thuộc tính của EmguCV

 Cấu trúc của EmguCV gồm hai lớp cơ bản:Lớp thứ nhất là các cấu trúc, thuộc tính, và các hàm dùng để xử lýhình ảnh, lấy ảnh…

Lớp thứ hai là lớp cấp cao, với nhiều tính chất phức tạp dùng để nhậndạng hay xử lý các ma trận, điểm ảnh…

a) Hướng dẫn cài đặt EmguCVBước 1: Cài đặt EmguCV 2.4.9

Trang 18

- Tải phiên bản EmguCV 2.4.9 Cài đặt vào thư mục mặc định tại: C:\không nên thay đổi đường dẫn, sử dụng đường dẫn mặc định “C:\Emgu\emgucv-windowsuniversal-gpu2.4.9.1847”

`

- Chọn tất cả các tùy chọn để cài đặt đầy đủ gói

Bước 2 : Thiết lập biến môi trường

Ngày đăng: 26/12/2021, 23:40

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w