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

Tiểu luận môn Hệ thống thông tin: Ứng dụng mạng Neural tich chập trong nhận dạng hoa quả

26 21 0

Đ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 26
Dung lượng 1,22 MB

Nội dung

Tiểu luận nghiên cứu nhằm tìm hiểu mạng Couvolutional Neural Netwok và mô hình mạng; ứng dụng Couvolutional Neural Network cho bài toán nhận dạng hoa quả.

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN I ­­­­­­­­­­ TÊN ĐỀ TÀI: ỨNG DỤNG MẠNG NEURAL TÍCH CHẬP  TRONG NHẬN DẠNG HOA QUẢ CHUN NGÀNH :HỆ THỐNG THƠNG TIN GIẢNG VIÊN HƯỚNG DẪN :PGS.TS. NGUYỄN QUANG HOAN HÀ NỘI­NĂM 2021 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THƠNG TIN I ­­­­­­­­­­ TÊN ĐỀ TÀI: ỨNG DỤNG MẠNG NEURAL TÍCH CHẬP  TRONG NHẬN DẠNG HOA QUẢ CHUN NGÀNH :HỆ THỐNG THƠNG TIN GIẢNG VIÊN HƯỚNG DẪN :PGS.TS. NGUYỄN QUANG HOAN HÀ NỘI­NĂM 2021 MỤC LỤC MỞ ĐẦU Mạng neural nhân tạo hay gọi ngắn gọn là mạng neural (tiếng anh là  Artifical Neural Network) đang là vấn đề  khá nổi trong cuộc cách mạng cơng  nghệ 4.0. Các nhà nghiên cứu, các nhà khoa học, tổ chức đã và đang ứng dụng  khá nhiều cơng nghệ liên quan đến mạng neural vào đời sống hằng ngày. Đơn  giản là việc phân loại, nhận dạng các đối tượng trên camera. Chúng góp phần  khơng nhỏ  cho việc quản lý, nhận dạng các đối tượng nhằm giảm thiểu sự  khó khăn trong cơng việc của con người Ở  nước ta, nền nơng nghiệp được chú trọng phát triển. Mỗi đợt thu  hoạch nơng sản, người nơng dân phải làm thao tác phân loại nơng sản bằng  các biện pháp thủ cơng nên rất mất thời gian, cơng sức. Đây là cơng việc đơn  giản nhưng lại ảnh hưởng rất lớn đối với quy mơ phát triển nơng nghiệp.  Hiện nay nhờ sự phát triển mạnh mẽ của cơng nghệ trong lĩnh vực học   máy. Việc sử dụng các mạng neural nhân tạo trong các máy móc phục vụ nơng   nghiệp khá là hay, ln hấp dẫn các nghiên cứu sinh nghiên cứu về nó. Do đó,  nhờ  sự  tìm hiểu và sự  giúp đỡ  từ  thầy hướng dẫn, em chọn đề  tài: “Mạng   Couvolutional Neural Network và ứng dụng trong việc nhân dạng hoa quả” Bài báo cáo gồm 3 nội dung chính như sau: Chương I: Giới thiệu tổng quan  Chương II: Tìm hiểu mạng Couvolutional Neural Netwok và mơ hình mạng Chương III:  Ứng dụng Couvolutional Neural Network cho bài tốn nhận dạng  hoa quả Danh mục chữ viết tắt Tên viết tắt ANN CNN ReLU Nghĩa tiếng anh Artifical Neural Network Couvolutional Neural  Netwok Rectified Linear Unit Nghĩa tiếng viêt Mạng neural nhân tạo Mạng neural tích chập Đơn vị tính tốn chỉnh  lưu Danh mục đồ thị Chương I: GIỚI THIỆU TỔNG QUAN  I.1. Phát biểu bài tốn nhận dạng hoa quả Bài tốn nhận dạng là một bài tốn khá cơ bản trong trí tuệ nhân tạo,  học sâu… Nó là nền tảng cho hầu hết các lý thuyết liên quan đến nhiều bài  tốn mở rộng khác như phân lớp, định vị, tách biệt vật thể,  Tuy nhiên, nhìn  chung, bài tốn này đã xuất hiện và tồn tại hàng thế kỉ mà con người vẫn chưa  tìm ra cách giải quyết hợp lý. Do đó, cũng có rất nhiều khó khăn trong việc để  máy móc hiểu được các thơng tin trong bức ảnh. Các khó khăn có thể kê đến  như: sự đa dạng điểm ảnh, sự đa dạng về kích thước, điều kiện ánh sáng, sự  ẩn giấu của các vật thể, sự đa dạng chủng loại, màu sắc,… Một trong những trường hợp cụ thể của bài tốn nhận dạng đó là nhận  dạng hoa quả. Bài tốn này kế thừa những khó khăn của bài tốn nhận dạng  nói chung và kèm theo những khó khăn riêng của chính nó như: số lượng  chủng loại hoa quả theo mùa, miền, địa hình,… với vơ số loại có kích thước,  màu sắc, kết cấu giống nhau trong suốt chu kỳ phát triển từ lúc xanh đến khi  chín; sự đa dạng về kích cỡ, hình dạng của cùng một lồi quả do điều kiện khí  hậu, đất đai, vùng miền,… Do đó, để xử lý bài tốn này địi hỏi phải có những  phương pháp tiếp cận phù hợp với u cầu đề ra I.2.Phương pháp tiếp cận bài tốn: Bài tốn nhận dạng hoa quả từ lâu đã xuất hiện trên nhiều bài báo, diễn  đàn, cơng trình khoa học đã đưa ra nhiều hướng giải quyết khác nhau. Trong  đó, sớm nhất phải kể đến phương pháp xử lý ảnh (image processing). Phương  pháp này tập trung phần lớn vào việc trích xuất đặc trưng của ảnh như: mức  xám, điểm ảnh, tham số màu sắc, kích thước hình dạng vật thể,… từ bức ảnh  đầu vào của hoa quả. Vì vậy nên phương pháp này chỉ tập trung vào một vài  bức ảnh đầu vào trong khi đó sự biến thiên về màu sắc, kích thước hồn tồn  khác nhau đối với các loại hoa quả. Ảnh hưởng của nó đến hiệu suất của  phương pháp khơng được cao nên áp dụng rất hạn chế đối với các loại hoa  Từ những năm 2000, một số bài báo viết về áp dụng phương pháp học  máy (machine learning) vào bài tốn nhận dạng với độ chính xác cao. Từ đó,  hướng giải quyết tập trung vào ứng dụng và cải tiến thuật tốn học máy, cụ  thể là nghiên cứu, thử nghiệm trích chọn đặc trưng cụ thể để đưa vào bộ  nhận dạng tự động. Trong phạm vi hạn chế số lượng hoa quả, phương pháp  này đã đạt được những kết quả đáng kinh ngạc.  Phương pháp học sâu cũng là một trong những cách tiếp cận được áp  dụng vào trong bài tốn này. Cụ thể kết hợp xử lý dữ liệu và sử dụng mạng  neural như: ANN, CNN,… Điều này làm giảm đáng kể thời gian xử lý dữ liệu Hình .Mơ tả 2 phương pháp trong bái tốn nhận dạng I.2.1.Phương pháp Machine Learning truyền thống Phương pháp này gồm 2 giai đoạn chính là huấn luyện (training) và thử  nghiệm (testing). Trong mỗi giai đoạn thì u cầu chính và quan trọng đó là  trích trọn đặc trưng của ảnh (Feature extraction) và thuật tốn phân loại, nhận  dang,… Hai thành phần này ảnh hưởng rất lớn đến kết quả bài tốn do đó cần  thiết kế cẩn thận, tốn nhiều cơng sức, thời gian, u cầu đối với người thiết  kế phải nắm vững chun mơn và hiểu rõ đặc trưng cần xử lý Trong thực tế, dữ liệu ta nhận được chỉ là dữ liệu thơ, do đó những dữ  liệu này phải qua q trình chọn lọc, xử lý. Để có thể có dữ liệu chuẩn đưa đi  huấn luyện phải có q trình biến đổi thành dạng dữ liệu cho máy hiểu. Mỗi  dữ loại dữ liệu sẽ có những đặc trưng riêng đối với từng trường hợp cụ thể.  Do đó cần tuỳ biến một cách thích hợp để đảm bảo tính chính xác của bài  tốn I.2.2. Phương pháp học sâu – deep learning: Là một trong các lĩnh vực chun sâu của học máy xuất hiện từ những  năm 1980 và hiện nay đang khá phổ biến. Ta có thể tận dụng kho dữ liệu số  khổng lồ trên internet và khả năng tính tốn nhanh cho mơ hình mạng.  Mạng Neural được ứng dụng phổ biến trong phương pháp này. Cụ thể  ta đưa dữ liệu qua nhiều lớp của mạng Neural và lấy kết quả đầu ra để sao  sánh với dữ liệu huấn luyện. Mỗi lớp của mạng sẽ phân tích đầu vào theo  khía cạnh khác nhau và mức trừu tượng tăng dần I.3. Phương hướng nghiên cứu bài tốn: Nhận dạng ln là một bài tốn nền tảng để phát triển bài tốn tổng  qt, chi tiết với độ chính xác cao. Do đó, bài tốn phụ thuộc chủ yếu vào bộ  dữ liệu. Bộ dữ liệu càng lớn thì tính chính xác càng được cải thiện Kết quả của bài tốn sẽ được áp dụng cho các mức độ phức tạp chun  sâu hơn như: phân loại hoa quả, nhận dạng bệnh trên quả,… Việc áp dụng mạng neural vào nghiên cứu đảm bảo u cầu: phương  pháp đơn giản, lượng dữ liệu đưa vào đầy đủ, chính xác với sản phẩm hoa  quả phù hợp ở nước ta, độ chính xác khi kết quả đầu ra dự đốn chính xác Chương II: TÌM HIỂU MẠNG COUVOLUTIONAL NEURAL NETWOK   VÀ MƠ HÌNH MẠNG II.1. Couvolutional neural netwok là gì? Mạng neural tích chập (Couvolutional neural netwok) là một thuật tốn   deep learning có thể lấy hình ảnh đầu vào, gán độ  quan trọng (trọng số và độ  lệch) cho các đặc trưng và đối tượng khác nhau trong hình  ảnh; có thể  phân  biệt được đặc trưng và đối tượng này với nhau. Cơng việc tiền xử  lý được  u cầu cho mạng neural tích chập ít hơn nhiều so với các mơ hình khác   Trong phương thức sơ  khai, các bộ  lọc được thiết kế  bằng tay, với một q   trình huấn luyện để chọn lọc ra các bộ lọc đặc trưng phù hợp thì mạng neural  tích chập lại có khả năng tự học để chọn ra các bộ lọc, đặc trưng tối ưu nhất Kiến trúc neural tích chập tương tự  mơ hình kết nối của các neural  trong bộ não con người và được lấy cảm hứng từ võ thị giác trong bộ não. Các  neural chỉ phản ứng với các kích thích trong một khu vực hạn chế của trường  thị giác gọi là trường tiếp nhận. Một tập hợp trường tiếp nhận như vậy chồng  lên nhau để bao phủ tồn trường thị giác 10 II.3 Phép tích chập (Convulution Operation) Ta có thể hiểu phép tích chập giống như một hoạt động trộn thơng tin   lại với nhau. Phép tốn này được sử  dụng tương đối rộng rãi trong nhiều   ngành khoa học và kỹ thuật khác nhau Trong tốn học, phép tích chập giữa hai hàm f và g sẽ  tạo ra một hàm  thứ ba biểu thị sự biến đổi của một hàm đối với hàm cịn lại. Xét hai hàm f và   g, phép tích chập giữa hai hàm này được định nghĩa như sau: 12 13 Hình .Hình ảnh đầu vào 2D mặt trời tích chập với một kernal.Một bản đồ đặc trưng (feuturemap) có kích thước   (N­2)x(N­2) là kết quả từ phép tính Chúng ta xem xét trong khơng gian một chiều, phép tích chập giữa hai   hàm f và g được mơ tả bởi phương trình sau: Đối với đầu vào 2 chiều như  hình  ảnh, chúng ta có đầu vào cho phép tích  chập. Đầu vào thứ  nhất là một hình  ảnh 2D, đầu vào cịn lại được gọi là  kernel hoặc mask hoạt động giống như bộ lọc (filter) cho hình ảnh 2D đầu vào   và tạo ra một hình ảnh khác cho đầu ra. Chúng ta hãy xem xét cụ thể một 2D –   convolution: 14 II.3. Kiến trúc mạng Couvolutional Neural Netwok: Ngun tắc chung trong hầu hết các mạng CNN hiện này đều được  thiết kế như sau: Sử dụng nhiều Convolution Layer chồng lên nhau Giảm dần kích thước ouput mỗi tầng Tăng dần số lượng Feature map Mơ hình mạng CNN dùng để huấn luyện và kiểm tra, mỗi hình ảnh đầu  vào sẽ được qua một loạt các lớp tích chập với các bộ lọc (Kernals), tổng hợp  lại các lớp được kết nối đầy đủ (Full Connected) và áp dụng hàm Softmax để  phân loại đối tượng có xác suất 0 và 1 II.3.1.  Lớp tích chập –   Convolution Layer   Lớp tích chập (Convolution Layer) là lớp quan trọng nhất và cũng là lớp   đầu tiên của mơ hình CNN. Lớp này có chức năng chính là phát hiện các đặc  trưng có tính khơng gian hiệu quả. Trong tầng này có bốn đối tượng chính là:  ma trận đầu vào, bộ  lọc (filters), trường tiếp nhận (receptive field) và Feature  map.  Lớp tích chập đầu vào này sẽ  là một ma trận ba chiều và một bộ  lọc  cần   phải   học   Bộ   lọc       trượt   qua       ảnh   để   tích   chập   (Convolution) giữa bộ  lọc và phần tương  ứng trên bức ảnh. Phần tương  ứng  này gọi là trường tiếp nhận (receptive field), tức là vùng mà neural có thể nhìn   15 thầy để  đưa ra quyết định, và ma trận cho ra bởi q trình này gọi là Feature   map Ví dụ, dữ  liệu đầu vào là ma trận có kích thước 8x8x1, một bộ  lọc có  kích thước 2x2x1, feature map có kích thước 7x7x1. Mỗi giá trị  feature map   được tính bằng tổng các phần tử tương ứng của bộ lọc 2x2x1 với trường tiếp   nhận trên ảnh. Và để tính tất cả các giá trị cho feature map, ta trượt bộ lọc từ  trái qua phải, trên xuống dưới. Do đó, phép convolution bảo tồn thứ tự khơng  gian các điểm ảnh.     Chức năng chính của lớp Convolution Layer là phát hiện đặc trưng của  ảnh (feature detector). Những đặc trưng này bao gồm các đặc trưng cơ  bản   như: góc, cạnh, màu sắc, hoặc đặc trưng phức tạp hơn như texture ảnh. Vì bộ  lọc qt qua tồn bộ  bức  ảnh nên đặc trưng có thể  nằm   bất kỳ  đâu trong   bức ảnh, cho dù xoay trái hay phải thì vẫn nhận ra đặc trưng đó   16 17 Trong ví dụ trên, khi dùng bộ lọc trượt qua ảnh của nhân vật Olaf trong   phim Frozen. Ta thấy, chỉ những vị trí trên bức  ảnh có dạng góc như  đặc  trưng ở filter thì mới có giá trị  lớn trên feature map, những vị trí cịn lại có giá  trị thấp hơn Ngồi ra,  các tham số  như: kích thước bộ  lọc, bước nhảy và padding  cũng khá quan trọng. Kích thước bộ  lọc nhỏ  thường được  ưu tiên hơn trong  các mơ hình huấn luyện, mặt khác, kích cỡ bộ lọc thường là số lẻ. Bước nhảy   thể  hiện số  pixel dịch chuyển khi di chuyển bộ  lọc. Tham số padding khắc   phục tình trạng ma trận bị nhỏ đi khi qua các layer do đó đảm bảo kích thước  ban đầu của đầu vào để thực hiện huấn luyện II.3.2. Lớp phi tuyến (Nonlinear Layer) Lớp này chứa các hàm phi tuyến để biến đổi ảnh ReLU (Rectified Linear Unit) là hàm kích hoạt trong mạng CNN. Hàm      ưu   chuộng       tính   tốn   đơn   giản,   giúp   hạn   chế   tình   trạng  vanishing gradient và cũng cho kết quả tốt hơn. ReLU cũng như  các hàm kích  hoạt khác được đặt ngay sau tầng convolution, ReLU sẽ gán những giá trị  âm  bằng 0, giữ ngun các giá trị đầu vào khi lớn hơn 0 ReLU cũng có một vấn đề  tiềm  ẩn đó là khơng tồn tại đạo hàm tại 0,  giá trị của hàm ReLU có thể lớn đến vơ cùng và nếu khơng khởi tạo trọng số  cẩn thận, hoặc khởi tạo tốc độ  học (learning rate) q lớn thì những neural ở  tầng này có thể rơi vào trạng thái chết II.3.3. Lớp gộp – Pooling Layer Sau hàm kích hoạt, thơng thường chúng ta sẽ  sử  dụng tầng pooling. Một số  loại pooling phổ  biến như max­pooling, average pooling, với chức năng chính  là giảm chiều tầng trước đó. Với một pooling kích thước 2x2, ta cần trượt bộ  lọc 2x2 này trên vùng ảnh kích thước rồi tính max, average của vùng đó 18 Ý tưởng đằng sau tầng pooling là vị trí tuyệt đối của những đặc trưng  trong khơng gian ảnh khơng cịn cần thiết, thay vào đó vị trí tương đối giữ các  đặc trưng đã đủ phân loại đối tượng II.3.4. Lớp kết nối đầy đủ ­ Fully Connected Layer Tầng cuối cùng trong mơ hình là tầng fully connected layer. Tầng này có  chức năng chuyển ma trận đặc trưng tầng trước thành vector chứa xác suất  đối tượng cần được dự đốn Ngồi ra, cuối q trình huấn luyện cần hàm tính độ lỗi sai số dự đốn  và nhãn chính xác, cũng như sử dụng thuật tốn backpropagation cho q trình  cập nhập trọng số 19 Chương III: ỨNG DỤNG COUVOLUTIONAL NEURAL NETWORK  CHO BÀI TỐN NHẬN DẠNG HOA QUẢ III.1. Cơ sở dữ liệu huấn luyện: Độ phân giải của các bức ảnh là 32x32 pixel, hệ màu RGB Dữ liệu huấn luyện gồm 360 ảnh hoa quả trong đó gồm có: 90 ảnh quả táo 89 ảnh quả chuối  91 ảnh quả cam 90 ảnh quả nho Các dữ  liệu đã được gán nhãn và thực hiện xử  lý độ  sáng và chuẩn hố   sang dạng xml Dữ liệu test gồm 60 ảnh trong đó gồm có: 20 ảnh quả táo 15 ảnh quả chuối 10 ảnh quả cam 10 ảnh quả nho 5 ảnh có cả táo và chuối 5 ảnh có cả cam và táo 5 ảnh cả 4 loại quả Dữ liệu test cũng đã được gán nhãn, thực hiện xử lý độ  sáng và chuẩn  hố   sang  dạng xml Hình .Dữ liệu tiến hành   huấn luyện 20 III.2. Xây dựng mơ hình huấn luyện CNN III.2.1. Tạo project trên colab google: Đầu tiên, chúng ta phải cài đặt mơi trường trên google driver để  thiết   lập vị vị trí trên project và đường dẫn cho nó Sau khi đã upload dataset theo đường  dẫn dir_path = "gdrive/My Drive/Dataset/Fruit Images/". Giờ đây, chúng ta đã  sẵn sàng để xây dựng và tranning mơ hình phục vụ nhu cầu bài tốn III.2.2. Khai báo thư viện, kiểm tra lại dataset Hình . kiểm tra đường dẫn trong dataset và khai báo thư viện 21 Tiếp theo chúng ta sẽ mã hố các tệp tin theo nhãn đã được tiền xử  lý   trong dataset. Cụ  thể, chúng ta sẽ  có 4 nhãn là apple, banana, mixed, orange;   chúng được lưu trong 1 mảng array một chiều từ thư viện numpy. Tiếp theo   từ  tập dataset ta sẽ khởi tạo được một mảng các dữ  liệu và gán nhãn tương  ứng mã hố theo các giá trị xuất hiện tương ứng trong mảng Sau khi được mã hố, ta có thể gọi bất  kỳ  một  ảnh nào trong tập dataset  bằng  thư viện matplotlib, thư viện này hỗ trợ hiển thị ảnh    hàm   số   xác   định   Tuy   nhiên,   hệ   màu   RGB   khơng   được hỗ trợ trên thư viện này III.2.3. Xây dựng, huấn luyện mơ hình: Mạng CNN chúng ta xây dựng gồm 11  layer   chồng   lên     Ba   lớp  Convolution sẽ  lọc lần lượt theo trọng   số  32,64,128. Cứ  mỗi lần qua mỗi một lớp sẽ  gộp theo   phương   pháp  maxpooling 22   Sau khi xây dựng mạng, ta tiến hành khai báo dường dẫn data train,   test. Thiết lập đường lưu trạng thái sau khi train để thực hiện việc test Hình . Thiết lập các liên kết trước khi huấn luyên mạng Thiết lập xong tất cả ta tiến hàng train mạng và chờ đợi kết quả 23 Hình .Training CNN III.3. Kết quả huấn luyện Phải khẳng định là mơ hình CNN là một mơ hình có độ  chính xác khá  cao Độ     xác       train   là  79,166% Kiểm   tra   lại     test   nhận   định   đúng  87.5% Kiểm tra lại một  trường   hợp  cụ thể trong  mẫu  dataset Bộ   test  nhận định trong  ảnh là apple. Đúng với nhãn    ghi     bộ  test 24 III.4. Bàn luận Với kết quả đạt được, bài tốn cịn được phát triển hơn nữa để tăng độ  chính xác hơn nữa. Độ chính xác trên 80% nhưng vẫn cần cải thiện thêm bằng   cách bổ sung thêm nguồn dataset Thời gian nhận dạng tương đối nhanh đối với tập dữ  liệu tương đối   nhỏ này. Do vậy, mong muốn cải thiện và phát triển trong mơi trường dataset  lớn hơn KẾT LUẬN VÀO HƯỚNG NGHIÊN CỨU TIẾP THEO 1.Kết quả đã thực hiện được Phát biểu khái qt bài tốn nhận dạng, phương pháp tiếp cận Khái qt được mạng CNN, mơ hình gồm các lớp nào và chi tiết trong  mơ hình. Mơ tả được phép tích chập và q trình gộp, lọc trong mạng Xây dựng thành cơng mơ hình CNN trên colab triển khai trên GPU thành  cơng trên tập dataset giới hạn 2. Hướng nghiên cứu tiếp theo: Với rất nhiều  ứng dụng thực tế  của mạng neural nhân tạo, đề  tài có  thể ứng dụng cho nhiều mơ hình nghiên cứu sâu sắc hơn. Tuy nhiên, trong đề  tài chưa thể  hiện được mơ hình CNN mới nhất hiện nay nên hướng nghiên  cứu mới sẽ tập trung vào việc cải thiện mơ hình, phát triển nó trong hệ thống  data lớn hơn đáp ứng nhu cầu trong tương lai TÀI LIỆU THAM KHẢO  Hough­CNN:  Deep  learning   for  segmentation  of  deep  brain  regions   in   MRI and ultrasound ­ ScienceDirect  Machine Learning for Computer Vision (ed.ac.uk)   Modulation Format Recognition and OSNR Estimation Using CNN­Based   Deep Learning | IEEE Journals & Magazine | IEEE Xplore 25 26

Ngày đăng: 15/05/2021, 10:00

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w