Tải bản đầy đủ (.pptx) (22 trang)

TRÍ TUỆ NHÂN TẠO ỨNG DỤNG DEEP LEARNING VÀO NHẬN DIỆN KÝ TỰ MÃ CONTAINER

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.77 MB, 22 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MƠI TRƯỜNG</b>

<b>THÀNH PHỐ HỒ CHÍ MINHBÁO CÁO MƠN HỌC: TRÍ TUỆ NHÂN TẠO</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>NỘI DUNG</b>

<b>01 Tầm quan trọng của việc quản lý Container</b>

<b>02 Deep Learning cho nhận diện và phân loại đối tượng</b>

<b>03 Thiết lập Pipeline xử lý ảnh</b>

<b>04 Đánh giá mơ hình phát hiện và nhận dạng container</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>1. Tầm quan trọng của việc </b>

<b>quản lý Container</b>

Tối ưu hóa quy trình vận chuyển hàng hóa, giảm thiểu chi phí, đảm bảo an tồn và bảo mật hàng hóa, cũng như tối ưu hóa sử dụng tài nguyên vận chuyển.

Điều này giúp nâng cao hiệu suất và khả năng cạnh tranh của ngành vận tải container.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>2. Deep Learning cho nhận diện và phân loại đối tượng</b>

<b>Mơ hình mạng nơ-ron tích chập (CNN)</b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>2.1.1 Tổng quan </b>

 CNN là mô hình mạng nơ-ron dùng convolution (phép tích chập) để nhận diện đặc trưng hình ảnh, giảm kích thước dữ liệu và tăng khả năng nhận biết đối tượng.

<b>2.1 Mơ hình CNN</b>

<b>2.1.2 Thành phần mơ hình CNN</b>

o Lớp Convolutional (Convolutional Layer) o Lớp Stride và Pooling Layer

o Lớp Activation (Activation Layer)

o Lớp Fully Connected (Fully Connected Layer)

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b> Stride và pooling layer </b>

Có 2 loại pooling thường dùng là max pooling và average pooling. Max pooling lấy giá trị lớn nhất trong cửa số k*k, cịn avarage pooling thì lấy trung bình của các giá trị trong cửa sổ k*k.

<b>Ví dụ về max pooling và average pooling với size = 2*2 và stride = 2</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b> Fully connected layer </b>

<small>Là các layer có các node liên kết với các node ở layer trước. Mỗi node trong layer này sẽ: • Có liên kết với tất cả các node ở layer trước, mỗi liên kết mang hệ số w riêng. </small>

<small>• Có hệ số bias b riêng. </small>

<small>• Diễn ra 2 bước: Tính tổng linear ở đầu vào và áp dụng activation function ở đầu ra. </small>

<small>Tổng linear ở đầu vào 1 node là tổng các (node ở layer trước * hệ số liên kết w của từng liên kết) cộng với bias b. Activation function sẽ áp dụng với tổng linear trên để đưa ra kết quả về thông tin của node. </small>

Fully connected của một neural network. Các node ở mỗi layer được liên kết với tât cả các node ở layer trước.

Với CNN thì fully connected layer cũng sẽ giống như vậy, chỉ khác là lớp input ở đây sẽ trở thành lớp hidden và thêm vào phía trước những lớp convolution và pooling.

Fully connected của một neural network. Các node ở mỗi layer được liên kết với tât cả các node ở layer trước.

Với CNN thì fully connected layer cũng sẽ giống như vậy, chỉ khác là lớp input ở đây sẽ trở thành lớp hidden và thêm vào phía trước những lớp convolution và pooling.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<b>Một số hàm kích hoạt (Activation function) </b>

Sigmoid và Tanh có nhược điểm là khi đầu vào có giá trị quá lớn (quá âm hoặc quá dương) thì đạo hàm gần như bằng 0, khơng có giá trị trong việc cập nhật trọng số của node.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>ReLU (Rectified Linear Unit)Softmax (hàm trung bình mũ)</b>

Hàm softmax nhận đầu vào là một vector , với các thành phần của vector, K là số lớp đối

tượng và trả về một vector có cùng số thành

phần với vector đầu vào với giá trị trong khoảng (0,1).

Hàm softmax thường được dùng ở lớp cuối

cùng trong các bài toán phân loại để đưa ra tỷ lệ phân phối xác suất về các lớp đối tượng

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>2.2 Một số mơ hình đã tìm hiểu</b>

<b>2.2.1 Mơ hình Le-Net</b>

<small>LeNet-5: Mơ hình CNN đầu tiên, nhận diện chữ số viết tay, quan trọng trong phát triển xử lý ảnh và thị giác máy tính.</small>

<i><b><small>Hình 1 – Kiến trúc của Le-Net (5)</small></b></i>

<b>2.2.1 Mơ hình EfficientnetB0</b>

<b>[6] </b>

<small>EfficientNet-B0: Mơ hình CNN tối ưu kích thước và hiệu suất, sử dụng Compound Scaling và các kỹ thuật Convolutional Blocks để cải thiện độ chính xác trong xử lý ảnh.</small>

<i><b><small>Hình 2 – Kiến trúc của EfficientnetB0 [6]</small></b></i>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b> Mơ hình LeNet</b>

<b>Nhận xét </b>

<small>LeNet với ít layers và ít parameters có thể nhanh chóng training trên CPU với MNIST, nhưng với activation function là hàm Tanh, có thể gặp vấn đề khi giá trị kích hoạt bão hịa, khó cập nhật trọng số. </small>

<b>Mơ hình </b>

<b>EfficientnetB0 </b>

<small>EfficientNet phức tạp, dự đoán tốt với ảnh chất lượng kém. Tuy nhiên, training chậm hơn LeNet trên GPU vì batch size nhỏ hơn.</small>

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>3. Thiết lập Pipelinexử lý ảnh</b>

i. Một pipeline xử lý ảnh là một chuỗi các bước xử lý được thực hiện theo trình tự nhất định để biến đổi, cải thiện hoặc trích xuất thơng tin từ hình ảnh

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

<i><b><small>Hình 1 - Ảnh Container đầu vào</small></b></i>

<i><b><small>Hình 2 – Output chứa vùng mã</small></b></i>

<b>3.1 Phát hiện mã vùng Container</b>

Mã container bao gồm 2 loại: mã sau (back code) và mã bên (side code). Thông thường, xung quanh vùng mã sẽ có rất nhiều nhiễu.

Ví dụ như container bị trầy xước, phai màu do ảnh hưởng của thời tiết, đặc biệt là với backcode được in trên trên cửa container luôn có những thơng tin khác kèm theo.

Do đó việc phát hiện các vùng mã này sẽ rất khó nếu chỉ dùng các giải thuật xử lý ảnh đơn thuần. Nên việc ứng dụng deep learning tại bước này sẽ giúp quá trình thực hiện báo cáo trở nên đơn giản hơn.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

• Phát hiện cạnh bằng giải thuật Candy.

• Sử dụng findCoutour để phát hiện đường viền.

• Dùng các điều kiện phù hợp để lọc ra các đường ký tự.

- Sau khi tách được ký tự, một lớp padding sẽ được thêm vào ở mỗi ký tự để tăng độ chính xác của kết quả dự đốn.

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>Giới thiệu về Dataset</b>

Quá trình training sẽ được tiến hành trên tập data Chars74K. Đây là tập data gồm đầy đủ 36 ký tự từ 0-9 và A-Z với xấp xỉ 32000 ảnh, phù hợp cho yêu cầu nhận dạng ký tự in của báo cáo.

Quá trình training sẽ được tiến hành trên tập data Chars74K. Đây là tập data gồm đầy đủ 36 ký tự từ 0-9 và A-Z với xấp xỉ 32000 ảnh, phù hợp cho yêu cầu nhận dạng ký tự in của báo cáo.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>3.3Kết quả xây dựng mơ hình</b>

<b><small>Hình 2 – Kết quả xây dựng mơ hình EffecientnetB0Hình 1 – Kết quả xây dựng mơ hình LeNet(5)</small></b>

<small> Do mơ hình có nhiều lớp và khơng thể hiển thị hồn tồn trong một hình ảnh, dưới đây là kết quả của một số lớp cuối cùng để bạn có cái nhìn tổng quan về cấu trúc của mơ hình.</small>

<small>Cuối cùng ta có 6,265,254 tham số có thể học</small>

Ta có 63,916 tham số có thể học

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>4. Đánh giá mơ hình phát hiện và nhận dạng </b>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>4.2. Đánh giá mô </b>

<small> Hệ thống hoạt động tốt và nhận dạng chính xác ở ảnh chất lượng tốt. Tuy nhiên, hạn chế lớn là không thể áp dụng cho ứng dụng thực tế do ảnh khơng ln có chất lượng cao. </small>

<small> Thời gian xử lý trên mỗi ảnh lớn và khơng thích hợp cho video (khoảng 400ms từ Input đến Output). Các thông số như kích thước ảnh, padding, bounding box... đang cứng nhắc và cần điều chỉnh linh hoạt hơn cho các môi trường khác nhau.</small>

<small> Và vì nhận diện số và chữ khá đơn giản, thì việc so sánh 2 mơ hình lenet 5 và effect trên thực tế khơng có sự khác biệt quá rõ rệt như trên việc đánh giá trên mặt lý thuyết rằng effect vượt trội hơn so với lenet 5</small>

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

CÁM ƠN THẦY VÀ CÁC BẠN ĐÃ LẮNG NGHE!

</div>

×