Cấu trúc lớp SPP

Một phần của tài liệu Đồ án tốt nghiệp Đại học Nghiên cứu phát triển hệ thống tự động Nhận diện và Giám sát lợn qua Camera với Yolov4 DeepSORT (Trang 31 - 35)

Lớp SPP tạo ra các đặc trưng trừu tượng có kích thước cố định với đầu vào là bản đồ đặc trưng bất kể kích thước. Để tạo được đầu ra cố định, SPP sử dụng các pooling layers ví dụ như Max Pooling để tạo ra các đại diện khác nhau của các bản đồ đặc trưng (feature maps).

Ở hình 2.12, chúng ta có một lớp SPP 3 cấp. Giả sử lớp tích chập trên (là lớp tích chập cuối) có 256 bản đồ đặc trưng trừu tượng.

 Đầu tiên, mỗi feature map được gộp lại thành 1 giá trị (phần màu xám) nên kích thước của vector là (1, 256)

 Tiếp đến, mỗi feature map được gộp lại thành 4 giá trị (phần màu xanh lá cây) nên kích thước của vector là (16, 256)

 Tương tự, mỗi feature map được gộp lại để được 16 giá trị (phần màu xanh dương) nên kích thước của vector là (16, 256)

 Ba vector được tạo từ 3 bước trước được nối với nhau tạo thành một vector mới có kích thước cố định. Vector này sẽ là input của lớp fully connected.

Đỗ Đình Nam – D17HTTT1 18

 SPP cho phép tạo ra output với kích thước cố định với bất kể kích thước đầu vào.

 SPP sử dụng multi-level spatial bins (cấu trúc không gian nhiều tầng), trong khi cửa sổ trượt lớp pooling chỉ sử dụng một cửa sổ với kích thước duy nhất. Lớp pooling nhiều tầng cho thấy mạnh mẽ hơn đối với sự biến dạng của đối tượng.

 SPP có thể gộp các đặc trưng được trích xuất ở nhiều dạng khác nhau nhờ vào sự linh hoạt của lớp đầu vào SPP.

2.3.1.3. Head (phần đầu) – Bước nhận dạng

YOLOv4 sử dụng các hộp neo (anchor box) và nhận dạng ảnh có kích thước khác nhau. Anchor box thực ra là các bounding box nhưng được tạo sẵn (chứ không là kết quả của quá trình nhận dạng - prediction).

Các feature maps của mạng YOLOv4 với input shape là 416x416, output là 3 feature maps có kích thước lần lượt là 13x13, 26x26, 52x52. Trên mỗi cell của feature map chúng ta sẽ áp dụng 3 anchor box để dự đoán vật thể. Như vậy số lượng anchor box khác nhau trong một mô hình YOLO sẽ là 9 (3 feature map * 3 anchor box).

Với mỗi ô lưới sẽ có 9 anchor box khác nhau với kích thước:  Ô lưới 13*13: (142*110), (192*243), (459*401)

 Ô lưới 26*26: (36*75), (76*55), (72*146)  Ô lưới 52*52: (12*16), (19*36), (40*28)

Trên một feature map hình vuông S x S, mô hình YOLOv4 sinh ra một số lượng anchor box là: S x S x 3. Như vậy số lượng anchor boxes trên một bức ảnh sẽ là:

(13 ∗ 13 + 26 ∗ 26 + 52 ∗ 52) ∗ 3 = 10647 (anchor boxes)

Đây là một số lượng rất lớn và nguyên nhân khiến quá trình huấn luyện YOLO vô cùng chậm vì chúng ta cần dự báo đồng thời nhãn và bounding box trên đồng thời 10647 bounding boxes.

Đỗ Đình Nam – D17HTTT1 19

Hình 2.13. Kết quả dự đoán bounding box dựa trên một anchor box (hộp neo)

Tại hình trên khi xác định anchor box cho một vật thể. Từ Cell i ta xác định được 3 anchor boxes viền xanh như trong hình. Cả 3 anchor boxes này đều giao với bounding box của vật thể. Tuy nhiên chỉ anchor box có đường viền dày nhất màu xanh được lựa chọn làm anchor box cho vật thể bởi nó có IoU so với ground truth bounding box là cao nhất. Mỗi một vật thể trong hình ảnh huấn luyện được phân bố về một cell trên feature map mà chứa điểm midpoint của vật thể. Từ cell ta sẽ xác định các anchor boxes bao quanh hình ảnh object. Như vậy khi xác định một vật thể ta sẽ cần xác định 2 thành phần gắn liền với nó là (cell, anchor box). Không chỉ riêng mình cell hoặc chỉ mình anchor box. Một số trường hợp 2 vật thể bị trùng midpoint, mặc dù rất hiếm khi xảy ra, thuật toán sẽ rất khó xác định được class cho chúng.

2.3.1.4. Bag of specials

Bag of specials: Chuỗi các phương pháp làm tăng chi phí suy luận lên một lượng nhỏ đổi lại có thể tăng độ chính xác đáng kể trong việc nhận diện vật thể.

Mish activation

Mish là hàm kích hoạt mới, được công bố vào tháng 8/2019. Sử dụng Mish thu được kết quả tốt hơn so với ReLu, SoftPlus, Swish cũng như một số activation function khác (Adam, Ranger, RangerLars, Novograd, ...)

Đỗ Đình Nam – D17HTTT1 20

Hình 2.14. Biểu đồ giá trị của Mish cùng với một vài hàm kích hoạt

 Value range: -0.31 -> inf

 Một số thuộc tính quan trọng của Mish: o Không có cận trên

o Có cận dưới

o Không đơn điệu, giữ lại một phần nhỏ negative gradient cho phép model học tốt hơn.

o Liên tục: Mish có đạo hàm bậc 1 tại mọi điểm thuộc miền giá trị (so sánh với ReLu không có đạo hàm tại x = 0)

Hàm ReLU có nhược điểm: với các node có giá trị nhỏ hơn 0, qua ReLU activation sẽ thành 0, hiện tượng đó gọi là “Dying ReLU”. Các node bị chuyển thành 0 thì sẽ không có ý nghĩa với bước linear activation ở lớp tiếp theo và các hệ số tương ứng từ node đó cũng không được cập nhật với gradient descent. Hàm Mish đã giải quyết được vấn đề “Dying ReLU”.

Đỗ Đình Nam – D17HTTT1 21

2.3.2. Phương thức hoạt động

Cấu trúc mạng học sâu YOLOv4 có backbone được xây dựng trên mạng CSPDarknet-53 là sự kết hợp của CSPNet với Darknet-53. Darknet-53 gồm 53 lớp tích chập và 24 lớp kết nối dư (residual) hay shortcut. Cùng với bản thân YOLOv4 có 53 lớp tích chập (giữ từ YOLOv3) nên YOLOv4 có tổng cộng 106 lớp.

Mô hình nhận diện đối tượng của YOLO chia hình ảnh thành một lưới 𝑆 × 𝑆 (S dòng, S cột) như đã trình bày ở phần Head của mạng YOLOv4, mỗi ô lưới dự đoán các bounding box B (khung giới hạn), độ tin cậy của các bounding box và xác suất lớp C tương ứng. Kết quả được mã hóa dưới dạng tensor 𝑆 × 𝑆 × (𝐵 ∗ (5 + 𝐶))[2]

Điều mà ta mong muốn là với mỗi ô của đặc tính trừu tượng sẽ dự đoán đối tượng thông qua một trong những hộp giới hạn nếu điểm giữa của vật nằm trong vùng của ô đặc tính trừu tượng đó. Để xác định được ô nào ta sẽ chia nhỏ dữ liệu hình ảnh đầu vào bằng với kích thước của bản đồ đặc trưng trừu tượng của lớp cuối cùng. Nên với mỗi ô lưới:

 Dự đoán B boundary box (khung giới hạn) và mỗi khung có một confidence score (điểm số đo độ tin cậy).

 Nó phát hiện chỉ 1 đối tượng bất kể số lượng boundary box B.  Dự đoán C xác suất có điều kiện của lớp.

Ví dụ ta có ảnh đầu vào hình sau có kích cỡ 416x416 như hình 2.15 ở phía dưới đây.

Một phần của tài liệu Đồ án tốt nghiệp Đại học Nghiên cứu phát triển hệ thống tự động Nhận diện và Giám sát lợn qua Camera với Yolov4 DeepSORT (Trang 31 - 35)

Tải bản đầy đủ (PDF)

(91 trang)