1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ cơ sở dữ liệu nhận dạng ảnh động vật

60 250 4

Đ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

Mô tả hệ thống xây dựng cơ sở dữ liệu nhận dạng ảnh động vật, với các kỹ thuật trích rút đặc trưng và so sánh đối chiếu ảnh. Các kỹ thuật kmean để phân cụm, các bước chuẩn hóa và so sánh ảnh. Thuật toán sift để trích rút các đặc trưng bất biến cảu ảnh

BÁO CÁO BÀI TẬP LỚN HỆ CƠ SỞ DỮ LIỆU ĐA PHƯƠNG TIỆN Đề tài : Xây dựng sở liệu nhận dạng ảnh động vật P a g e | 60 MỤC LỤC Error! Bookmark not defined I Giới thiệu nhận dạng ảnh II Các kỹ thuật nhận dạng ảnh Đối sánh mẫu dựa đặc trưng trích chọn Đối sánh cấu trúc 10 Phân loại thống kê 11 Phân loại dựa mạng noron nhân tạo 12 III Các thuộc tính nhận dạng ảnh 15 IV Hệ thống nhận dạng ảnh động vật 16 A Trích rút đặc trưng ảnh 16 1.1 Phương pháp tiếp cận 18 1.2 Chi tiết cách bước thực 18 B Phân cụm sử dụng thuật toán k-mean 29 C Chuẩn hóa (Bag of Features) 30 D So sánh, đối chiếu ảnh 30 V Triển khai cài đặt 32 Phát biểu toán 32 Tập liệu sử dụng 33 Triển khai (mô tả số hàm code) 35 Chi tiết thí nghiệm kết quả, nhận xét, kết luận rút 56 VI Các nguồn tài liệu tham khảo 60 P a g e | 60 Giới thiệu nhận dạng ảnh I Xử lí ảnh lĩnh vực quan trọng ứng dụng rộng rãi Ví dụ nhận dạng biển số xe, nhận dạng vân tay… Tuy nhiên dù nhu cầu cần thiết phục vụ cho sống Việt Nam lĩnh vực có ứng dụng triển khai thực tế Dù tầm quan trọng việc xử lí ảnh kĩ thuật để nhận dậng ảnh phúc tạp để đưa kết xác điều khơng dễ dàng Vì tầm quan trọng trọng cuta lĩnh vực nên nhóm hôm đưa nghiên cứu đề tài xử lí ảnh Những kĩ thuật dùng để nhận dạng ảnh, thuộc tính dùng để nhận dạng ảnh, áp dụng thuộc tính, kĩ thuât để nhận dạng ảnh động vật Các kỹ thuật nhận dạng ảnh II Đối sánh mẫu dựa đặc trưng trích chọn Trong kĩ thuật ta cần tập mẫu lưu để làm sở so sánh Khi ảnh đưa vào lưu hệ thống, lưu dạng đặc trưng trích chọn ma trận màu sắc, đường biên, hình dạng ảnh.Vậy người ta trích xuất đặc trưng cách nào: Màu sắc ảnh: đặc trưng dễ để dùng so sánh ảnh khác nhau, ảnh đưa vào hệ thống lưu Ảnh lưu dạng ma trận ảnh - Nếu ảnh lưu dạng nhị phân giá trị điểm ảnh có giá trị: hoăc ( ảnh nhị phân) - Nếu ảnh lưu dạng đen trắng ảnh chi có màu đen trắng với mức xám khác điểm ảnh - Nếu ảnh lưu theo hệ màu RGB điểm ảnh lưu ma trận ma trận biểu thị giá trị màu sắc tương ứng Red, Green, Blue điểm ảnh Sau để so sánh ảnh người ta so sánh ma trận ảnh: dùng khoảng cách Euclide Khoảng cách Euclide tính công thức: Hoặc P a g e | 60 Khi khoảng cách Euclide 0, hai ảnh tuyệt đối Thơng thường có trường hợp Hoặc sử dụng Độ đo Jensen-Shannon divergence (JSD) : Độ đo Jensen-Shannon divergence sử dụng lược độ màu RGB để tính tốn độ tương đồng màu sắc ảnh : Trong : H H’ biểu đồ màu so sánh, Hm giá trị điểm ảnh thứ m biểu đồ H Các đường biên: đường biên tập hợp điểm biên, điểm biên điểm ảnh mà có thay đổi đột ngột màu sắc điểm ảnh Khi lưu vào máy tính hệ thống tìm điểm biên Và tập hợp lại, tạo đường biên Các kĩ thuật phát biện biên: Phát biên trực tiếp: chủ yếu dựa đạo hàm, đạo hàm bậc ta có phương pháp Gradient, đạo hàm bậc có phương pháp Laplace Phương pháp Gradient: Gradient vector có thành phần biểu thị tốc độ thay đổi giá trị điểm ảnh: Trong dx, dy khoảng cách điểm lân cận theo hướng x y tương ứng Trong hình ảnh rời rạc, ta xem xét dx, dy số lượng điểm ảnh hai điểm Thực tế ta chọn dy = dx = (khoảng cách điểm ảnh) điểm mà tọa độ điểm ảnh (i, j), đó: P a g e | 60 Do tính chất phức tạp tính tốn áp dụng phương pháp Gradient xử lý ảnh, người ta sử dụng kỹ thuật Gradient dùng cặp mặt nạ H1, H2 trực giao (theo hướng vng góc) Nếu định nghĩa g1, g2 Gradient theo hai hướng x, y tướng ứng biên độ g(m,n) điểm (m,n) tính: Để giảm độ phức tạp tính tốn, A0 tính gần sau: Việc xấp xỉ đạo hàm bậc theo hướng x y thực thông qua mặt nạ nhân chập tương ứng cho ta kỹ thuật phát biên khác (Roberts, Sobel, Prewitt, ) * Thuật tốn: - Với điểm ảnh I(x,y) tính: - Phân ngưỡng: Phương pháp Robert: Lý để sử dụng tốn tử Robert tính tốn nhanh Chỉ có bốn điểm ảnh đầu vào cần phải kiểm tra để xác định giá trị điểm ảnh đầu ra, phép trừ phép cộng sử dụng tính tốn Trong phép cộng khơng có tập tham số Nhược điểm toán tử Robert sử dụng mặt nạ nhỏ, nhạy cảm với nhiễu Nó tạo phản hồi yếu với biên thực, trừ biên sắc nét Toán tử Robert bao gồm cặp mặt nạ nhân chập x Hx Hy , mặt nạ thiết kế đáp ứng tối đa để biên hoạt động theo hai hướng -45 độ +45 độ : P a g e | 60 Hướng gradient Chiều dài đường biên ảnh rút cách dùng phép xử lý khơng tuyến tính sau đây: Trong đó: f1(i,j) f2(i,j) đáp ứng rút từ mẫu Gx Gy Hướng đường biên θ(i,j) tính theo phương nằm ngang, rút bởi: Các phần tử mặt nạ gọi trọng số Di chuyển mặt nạ ảnh xét cho phần tử mặt nạ trùng với phần tử (i,j) xét ảnh Từ cho kết ảnh theo phương pháp Như vậy, ta có kết Gradient điểm ảnh Toán tử Sobel - Phương pháp phát biên Sobel Ở sử dụng hai mặt nạ nhân chập * theo hướng x, y với hình ảnh đa mức xám * Thuật toán: P a g e | 60 + Bước 1: tính I(x,y) ⊗ Hx = I1 I(x,y) ⊗ Hy = I2 + Bước 2: Tính | I1 | +| I2 | = Is + Bước 3: Hiệu chỉnh I(x,y) = Is ≥ θ ? : Phương pháp phát biên Prewitt Toán tử Prewitt làm việc giống với cách làm toán tử Sobel, sử dụng mặt nạ nhân chập khác so với toán tử Sobel Mặt nạ cho kết giống Sobel hướng x, y: * Thuật tốn: Các bước tính tốn tương tự Sobel Ngun lý phương pháp là: Gradient độ dốc mức sáng ảnh Vùng ảnh không thay đổi màu sắc pixel vùng ảnh có giá trị xấp xỉ / gần nhau, tính tốn đạo hàm gần Đạo hàm thể khơng có biến thiên giá trị (mức sáng) Điều có nghĩa độ dốc pixel vùng ảnh trơn gần Đạo hàm dương pixel thể biến thiên mức sáng chiều hướng lên, ngược lại đạo hàm âm pixel cho biết biên thiên mức sáng giảm dần Nói tóm lại gradient ảnh đạo hàm ảnh Thông qua phương pháp đạo hàm ảnh Người ta tìm điểm biên ảnh nhờ vào giá trị đạo hàm Tuy nhiên phương pháp lại có nhược điểm gặp ảnh có biến thiên khơng lớn mức sáng khó phát điểm biên Phương pháp Laplace: mức xám thay đổi chậm điểm biên khó phát phương pháp Gradient Vậy người ta dùng đạo hàm bậc ảnh,Phương pháp dị biên theo tốn tử Laplace hiệu phương pháp toán tử Gradient trường hợp mức xám biến đổi chậm, miền chuyển đổi mức xám có độ trải rộng Tốn tử laplace định nghĩa sau P a g e | 60 Toán tử Laplace dùng số kiểu mặt nạ khác nhằm tính gần đạo hàm riêng bậc hai Các dạng mặt nạ theo toán tử Laplace bậc 3x3 hay dùng: Mặt nạ H1 cải biên việc lấy giá trị tâm thay giá trị Để thấy rõ việc xấp xỉ đạo hàm riêng bậc không gian chiều với mặt nạ H11 làm ví dụ, ta tính gần sau: Kỹ thuật theo tốn tử Laplace tạo đường biên mảnh (có độ rộng pixel) Nhược điểm kỹ thuật nhạy với nhiễu, đường biên thu thường ổn định Để khắc phục nhược điểm người ta mở rộng toán tử Laplace – dùng hàm Gauss (Laplace of Gauss) để giảm nhiễu cho ảnh (làm trơn ảnh) - Zero – crossing toán tử Laplace: Biên nhận dạng việc tìm giao điểm khơng (Zero – crossing) đạo hàm bậc hai toán tử Laplace Bộ dị “Zero – crossing” tìm nơi mà giá trị toán tử Laplace qua điểm toán tử Laplace ảnh - Phương pháp Laplace of Gauss (LoG): − Bước 1: Làm trơn ảnh với lọc Gauss (lọc nhiễu) (Nhân chập ảnh gốc với kích thước N x M với tốn tử LoG kích thước M2 ) − Bước 2: Tìm điểm “chéo-khơng” (Áp dụng lọc Laplace) Quá trình thực hiện: Bước 1: Làm trơn ảnh (lọc nhiễu) với lọc Gauss Để giảm bớt nhiễu cho ảnh, ta tiến hành làm trơn ảnh lọc Gauss * Hàm Gauss: − Trong 1D P a g e | 60 Đạo hàm bậc Gauss: Đạo hàm bậc hai Gauss: − Trong 2D Trong đó: σ ngưỡng chuẩn, thể chiều rộng việc phân phối Gauss Vùng phân bố thể chất lượng làm mịn nhiễu thực hiện, kiểm soát cách biến đổi σ Việc làm trơn ảnh thực cách tiến hành nhân chập ảnh với lọc Gauss Như để thực bước 1: Ta tiến hành nhân chập ảnh cần xử lý với lọc Gauss giống cách thức nhân chập toán tử ta thực Kết sau tiến hành bước ảnh làm trơn Điều đặc biệt có tác dụng tốt với ảnh nhiễu, bước làm mờ ảnh cần xử lý, nghĩa điểm nhiễu bị làm mờ biên tồn Bước 2: Tiến hành đạo hàm bậc hai Kết nhận bước ảnh sau làm trơn loại bỏ bớt nhiễu Để thực phương pháp Laplace of Gauss, ta tiến hành đạo hàm bậc hai kết P a g e | 60 bước Việc đạo hàm kết tương tự việc ta tiến hành nhân chập ảnh kết bước với mặt nạ nhân chập tính tốn từ phương pháp Laplace Song bước thứ ta tiến hành nhân ảnh với lọc Gauss, nên ta phải đạo hàm ảnh ILap (không sử dụng công thức đạo hàm Gauss) Vì vậy, ta tiến hành nhân ảnh sau làm trơn với ba mặt nạ nhân chập Laplace Thuật toán: - Với điểm ảnh I(x,y) tính I(x,y) ⊗ H = Ilap - Lấy | ILap |= Δ2 ILap - Hiệu chỉnh I(x,y) = ILap ≥ θ ? : Đó số phương pháp phát biên trực tiếp, số phương pháp phát trực tiếp khác : canny, wavelet… Phát gián tiếp: Khi ảnh đưa vào hệ thống , sau số hóa phân vùng ảnh ranh giới vùng biên Trên số đặc trưng ảnh, dùng nhận dạng ảnh cách trích chọn đặc trưng, có tập mẫu lưu cách trích chọn đặc trưng Khi có ảnh đưa vào, hệ thống trích chọn đặc trưng mang so sánh với mẫu lưu Và đưa kết luận ảnh thuộc lớp Đối sánh cấu trúc Trong kĩ thuật Người ta mô tả lớp đối tượng văn phạm lớp khác miêu tả khác Đầu tiên người ta xác định quy tắc chung để miêu tả cho đối tượng.Ví dụ: ảnh maxbook gốm đường thẳng gần vng góc với nhau, hệ màu maxbook miêu tả theo hệ màu RGB….Thực P a g e 10 | 60  Hàm convert_parquet: Input:  memory: Lượng nhớ sử dụng  warehouse: Nơi lưu trữ liệu “.parquet” đầu  path_input: Thư mục lưu liệu file “.npz” lưu vector đặc trưng trích xuất từ ảnh  name_path_ouput: Tên thư mục lưu file “.parquet” lưu warehouse  Hàm save_to_parquet: Input:  spark: Một instance SparkSession P a g e 46 | 60  files: List đường dẫn file “.npz”  batch_size: Số lượng file “.npz” gộp lại để lưu thành file “.parquet” lần duyệt  parquet_name: Tên thư mục lưu file parquet lưu warehouse Bước 4: Phân cụm vector đặc trưng sử dụng Kmean thư viện pyspark  Hàm create_session: Tạo instance SparkSession Input:  memory: Lượng nhớ sử dụng  warehouse: Nơi lưu trữ liệu “.parquet” đầu Output:  Một instance SparkSession P a g e 47 | 60  Hàm cluster: Input:  dataframe: Một DataFrame lưu liệu vector đặc trưng  k: Số cụm cần phân chia  maxIter: Giới hạn số vòng lặp tối đa thực việc phân cụm hội tụ lâu Output:  Một mảng chứa k phần tử, phần tử đại diện cho tâm cụm  Hàm cal_center: Thực việc khởi tạo SparkSession, tính tốn tâm cụm, lưu tâm cụm vào file Input:  memory: Lượng nhớ sử dụng  warehouse: Nơi lưu trữ liệu “.parquet” đầu  name_path_parquet: tên thư mục chứa file “.parquet”  path_centroidfile: tên file lưu tâm cụm  ncluster: số cụm P a g e 48 | 60 Bước 5: Tạo trích xuất đặc trưng cho ảnh sử dụng kĩ thuật Bag Of Words từ tâm cụm biết sử dụng KNeigborsClassifier trong thư viện sklearn  Tạo class extract_bow với hàm khởi tạo nhận tham số truyền vào là: - centroids: mảng chứa tâm cụm tìm sau bước Kmean → Tạo phân loại Knn sử dụng KNeighborsClassifier thư viện Sklearn  Định nghĩa hàm extract: Input:  img: ma trận ảnh đầu vào Output:  vector đặc trưng mô tả ảnh (Thực cách: Khởi tạo mảng gồm k phần tử tương ứng với k cụm, vector đặc trưng trích xuất ảnh so sánh gần với tâm cụm nhất, tăng giá trị phần tử tương ứng với cụm lên 1,sau chia phần tử mảng cho tổng số đặc trưng trích xuất ảnh → Ta vector đặc trưng chuẩn hóa mơ tả ảnh) Bước 6: Kiểm tra phân loại P a g e 49 | 60 Chia tập liệu tự thu thập thành hai phần: trainset testset theo tỉ lệ đặt trước Input:  dir_path: Đường dẫn thư mục chứa tập ảnh thu thập  ratio: tỉ lệ chia trainset, testset: (vid ratio=0.8 → 80% trainset, 20% testset) Output:  Một tuple gồm phần tử tương ứng tập train_set testset Mỗi phần tử mảng tuple (đường dẫn ảnh, nhãn ảnh) Với ảnh trainset: tìm encode ( vector đặc trưng mơ tả ảnh sau BoW) label ảnh → Lưu vào file (csdl) P a g e 50 | 60  Hàm extract_encode_image: Input:  img_path: Đường dẫn ảnh đầu vào  centroids: Mảng chứa tâm cụm Output:  img_encode: Một vector đặc trưng mô tả ảnh  Hàm cal_encodes_trainningset: Input:  train_set: Mảng chứa phần tử (đường dẫn ảnh, nhãn) ảnh tập train  centroids: Mảng chứa tâm cụm Output:  encode_label_of_images: Một dictionary(dict) chứa (key: value) tương ứng là: img_path : (image_encode, category) Xây dựng model knn Input:  encode_label_of_images: Một dictionary(dict) chứa (key: value) tương ứng là: img_path : (image_encode, category) Output:  clf: Bộ phân loại (instance KneighborsClassifier) với liệu train vector đặc trưng chuẩn hóa tương ứng với nhãn lồi vật ảnh tập ảnh train P a g e 51 | 60 Tìm k ảnh giống từ ảnh đầu vào: Input:  img_path: Đường dẫn ảnh đầu vào  clf: Bộ phân loại (instance KneighborsClassifier) với liệu train vector đặc trưng chuẩn hóa tương ứng với nhãn lồi vật ảnh tập ảnh train  centroids: Mảng chứa tâm cụm Output:  (nearest_img_index, pre): Một tuple chứa phần tử phần tử thứ mảng số ảnh giống ảnh đầu vào tập trainning, phần tử thứ hai nhãn dự đoán hình ảnh Tính tốn độ xác phân loại: Input:  test_set: Mảng chứa phần tử (đường dẫn ảnh, nhãn) ảnh tập test  clf: Bộ phân loại (instance KneighborsClassifier) với liệu train vector đặc trưng chuẩn hóa tương ứng với nhãn lồi vật ảnh tập ảnh train  centroids: Mảng chứa tâm cụm P a g e 52 | 60 Output:  accurate: Độ xác trung bình kết dự đốn nhãn với ảnh tập ảnh test Tính tốn accurate thuật toán: (Ta thực phân chia liệu nhiều lần (vd 100 lần), lần ta thu tập trainset testset khác Tính độ xác phân loại lần phân chia Sau tính trung bình độ xác Ta độ xác sau cùng: accurate thuật tốn Input:  dir_path: Đường dẫn thư mục chứa tập ảnh thu thập  path_centroids: Đường dẫn file lưu tâm cụm  ratio: Tỉ lệ chia trainset, testset: (vid ratio=0.8 → 80% trainset, 20% testset)  num_iters: Số lượng lần phân chia tập liệu để kiểm tra độ xác Output:  Độ xác trung bình thuật toán P a g e 53 | 60 Demo phân loại Loại Với ảnh động vật bất kỳ, ta tìm ảnh giống với ảnh đầu vào sở liệu Input:  img_path: Đường dẫn ảnh đầu vào, ảnh test  dir_path: Đường dẫn liệu thu thập (tập ảnh CSDL)  path_centroids: Đường dẫn file lưu tâm cụm  ratio: Tỉ lệ phân chia trainset, testset (Trong trường hợp khơng cần thiết, ta coi tồn liệu thu thập trainset → đặt ratio mặc đinh 1) P a g e 54 | 60 Loại Đầu vào ảnh động vật bất kỳ, ta tìm k hình ảnh giống ảnh đầu vào sở liệu dự đoán nhãn ảnh đầu vào P a g e 55 | 60 Input:  img_path: Đường dẫn ảnh đầu vào, ảnh test  dir_path: Đường dẫn liệu thu thập (tập ảnh CSDL)  path_centroids: Đường dẫn file lưu tâm cụm  ratio: Tỉ lệ phân chia trainset, testset (Trong trường hợp không cần thiết, ta coi toàn liệu thu thập trainset → đặt ratio mặc đinh 1) Chi tiết thí nghiệm kết quả, nhận xét, kết luận rút Độ xác đạt được: 95.80% Kết demo: Loại Đầu vào ảnh động vật bất kỳ, đầu ảnh giống với ảnh đầu vào sở liệu Demo 1: P a g e 56 | 60 Demo 2: Loại Đầu vào ảnh động vật bất kỳ, đầu k ảnh giống với ảnh đầu vào sở liệu.và dự đoán loại động vật ảnh đầu vào P a g e 57 | 60 Demo 1: Demo 2: P a g e 58 | 60 Demo 3: Nhận xét: Kết đạt với SIFT tương đối tốt, nguyên nhân hình ảnh chứa đối tượng động vật Và tận dụng tính chất đặc trưng bất biến SIFT Thu hoạch đạt Các thành viên biết thêm đặc trưng ảnh, loại đặc trưng ảnh, làm để sử dụng đặc trưng ảnh để nhận dạng phân loại ảnh Hiểu biết thêm kĩ thuật sử dụng giải thuật Kmean toán phân cụm Kỹ thuật Bag of Words ứng dụng hình ảnh Hiểu thêm ứng dụng giải thuật K-Nearest Neighbors toán phân loại P a g e 59 | 60 VI Các nguồn tài liệu tham khảo Bài báo gốc tác giả David G Lowe giải thuật SIFT: "Distinctive Image Features from Scale-Invariant Keypoints", David G Lowe Source: https://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf Giải thích chi tiết giải thuật SIFT: https://aishack.in/tutorials/sift-scale-invariant-feature-transform-introduction/ Tham khảo cách triển khai giải thuât SIFT python: https://github.com/rmislam/PythonSIFT Tài liệu tham khảo kĩ thuật Bag Of Words: https://machinelearningcoban.com/general/2017/02/06/featureengineering/ Tài liệu tham khảo Kmean: https://machinelearningcoban.com/2017/01/01/kmeans/ Tài liệu tham khảo K-nearest neighbors https://machinelearningcoban.com/2017/01/08/knn/ P a g e 60 | 60 ... hệ thống nhận dạng ảnh cho ta kết xác IV Hệ thống nhận dạng ảnh động vật Hệ thống nhận dạng ảnh động vật xây dựng theo bước chính: Bước 1: Trích rút đặc trưng cục bất biến ảnh sử dụng thuật toán... nghiên cứu đề tài xử lí ảnh Những kĩ thuật dùng để nhận dạng ảnh, thuộc tính dùng để nhận dạng ảnh, áp dụng thuộc tính, kĩ tht để nhận dạng ảnh động vật Các kỹ thuật nhận dạng ảnh II Đối sánh mẫu... dựng CSDL quản lý hình ảnh động vật - Đầu vào: Một hình ảnh động vật - Đầu (Yêu cầu) : Hình ảnh động vật giống CSDL - Đầu (Mở rộng): Các hình ảnh động vật giống CSDL loại động vật dự đốn  Ví dụ:

Ngày đăng: 17/07/2020, 21:55

Xem thêm:

TỪ KHÓA LIÊN QUAN

w