Ứng dụng Computer Vision trong bài toán Proof of Delivery để tự động trích xuất thông tin ảnh đơn hàng

MỤC LỤC

Giới thiệu đề tài

  • Giới thiệu chung

    Năm 2018 Amazon đã ra mắt quy trình P.O.D với ứng dụng đi kèm, mà yêu cầu các tài xế giao hàng cung cấp xác nhận trực quan về việc một gói hàng đã đến nơi an toàn bằng cách chụp một hình ảnh chứng minh đơn hàng đã được chuyển đến đúng như mô tả, hình ảnh này sau đó sẽ được trích xuất thông tin cơ bản và được gửi trực tiếp đến khách hàng để kiểm tra và xác nhận gói hàng của họ đã đến nơi an toàn [39]. – Ứng dụng mô hình nhận dạng ký tự quang học (OCR) trong việc trích xuất thông tin từ dữ liệu ảnh. Đề tài này chỉ tập trung tìm kiếm mô hình và phương pháp tối ưu trong việc phân loại, nhận dạng trích xuất thông tin dữ liệu ảnh của mô hình kinh doanh giao nhận hàng hoá. Đưa ra đề xuất và thử nghiệm ứng dụng ở quy mô nhỏ để giải quyết bài toán với các điều kiện cụ thể:. – Đầu vào: Dữ liệu sẵn có theo định dạng đã được đề cập ở phần tổng quan bài toán cụ thể. – Đầu ra: Mô hình training kèm thông số đánh giá, nhãn phân loại đúng theo yêu cầu. Đề tài này sẽ chưa triển khai việc đánh giá hiệu quả của quy trình đề xuất trong tương tác thực tế ở thời gian thực. 1.5 Đối tượng nghiên cứu. 1) Nguồn dữ liệu ảnh, phương pháp tiền xử lý dữ liệu ảnh sử dụng cho bài toán. 2) Kỹ thuật Transfer Learning hỗ trợ cho quá trình huấn luyện. 3) Mô hình, phương thức huấn luyện sử dụng cho bài toán nhận diện phân loại ảnh và trích xuất thông tin.

    Hình 1.1: Ví dụ về thông tin yêu cầu cho một P.O.D.
    Hình 1.1: Ví dụ về thông tin yêu cầu cho một P.O.D.

    Cơ sở lý thuyết

    Tiền xử lý ảnh

      Phép dịch chuyển sẽ giữ nguyên tính chất song song của các đoạn thẳng sau dịch chuyển đối với các trục x hoặc y nếu trước dịch chuyển ảnh có phương song song với một trong hai trục này. Phép biến đổi này cũng gần giống như phép biến đổi Affine, khác biệt đó là ảnh trả về sẽ chỉ biến đổi trên vùng ảnh bị giới hạn trong tọa độ của 4 điểm gốc thay vì biến đổi trên toàn bộ bức ảnh ban đầu như phép biến đổi Affine. Bounding Box có thể có nhiều hình dạng khác nhau trong đó có các hình dạng chính như: chữ nhật, tam giác, tròn, ellipse và một bounding box có thể được xác định thông qua một Contour.

      Dựa vào Contour và Bounding Box ta có thể trích xuất được bộ thuộc thuộc tính liên quan đến đối tượng như như độ cô đặc (solidity), đường kính (diameter), ảnh mặt nạ (mask image), trung bình cường độ (mean inten- sity).v.v. - Mặt nạ (mask) và các điểm pixels, sử dụng trong một số trường hợp chúng ta muốn trích xuất tất cả các điểm pixels tạo thành đối tượng và đây là những điểm có giá trị cường độ khác 0.

      Mạng tích chập Convolutional Neural Net- work (CNN)

        Transformers đã được áp dụng cho các lĩnh vực bao gồm: thị giác máy tính (Computer Vision), nhận dạng giọng nói (Speech Recognition), xử lý ngôn ngữ tự nhiên (Natural Language Processing), máy dịch thuật, trích xuất thông tin sinh học, phân tích hình ảnh trong y tế..v.v. Tuy nhiên Deep Learning sẽ yêu cầu một lượng lớn dữ liệu huấn luyện và tài nguyên tính toán để có thể đạt được hiệu suất tốt và ngoài ra trong quá trình huấn luyện cũng có thể gặp phải vấn đề vềoverfitting và thời gian huấn luyện kéo dài. Tính kết nối trượt: Khác với các mạng nơ ron thông thường, mạng nơ ron tích chập không kết nối với toàn bộ hình ảnh mà chỉ kết nối tới từng vùng địa phương (local region) hoặc vùng nhận thức (receptive field) có kích thước bằng kích thước bộ lọc của hình ảnh đó.

        Lý thuyết về Transfer Learning được Lorien Pratt thực nghiệm lần đầu năm 1993 [57] và sau đó viết lại nó dưới dạng một lý thuyết toán học vào năm 1998 đã hiện thực hóa ý tưởng về việc chuyển giao tri thức giữa các mô hình như giữa con người với nhau. Tận dụng lại tri thức từ cácpretrained - model với cùng tác vụ phân loại sẽ giúp các mô hình được huấn luyện dự báo tốt hơn với dữ liệu mới vì mô hình được học trên cả 2 nguồn tri thức đó là dữ liệu huấn luyện và dữ liệu mà nó đã được học trước đó.

        Hình 2.1: Quá trình tổng hợp của một mạng CNN [5]
        Hình 2.1: Quá trình tổng hợp của một mạng CNN [5]

        Các công trình nghiên cứu liên quan

        Các kiến trúc mô hình deep learning hỗ trợ phân loại ảnh

          Việc tăng cả chiều rộng (width) và chiều sâu (depth) có thể giúp cả thiện chất lượng của mạng, tuy nhiên chi phí tính toán của mạng cần cũng cần được tối ưu và điều này cũng phụ thuộc vào độ sâu và chiều rộng của mạng. Kaiming He cùng cộng sự đã vào tháng 7 năm 2016, đã tiến hành phân tích kiến trúc residual cho mạng học sâu nhận thấy rằng quá trình huấn luyện có thể trở nên tối ưu hơn khih(xl), f(yl) gần như một identity mapping, và đề xuất kiến trúc cải thiện như ở hình 3.5. Các nghiên cứu về mạng CNN chỉ ra rằng: độ chính xác của mô hình càng cao khi kiến trúc mạng càng sâu, hiệu suất được cải thiện hơn khi các connection giữa các thông tin đầu vào, thông tin đầu ra và các layer function càng gần nhau.

          Kiến trúc DenseNet201 được nhận xét rằng, hỗ trợ tốt các tác vụ về trích xuất đặt trưng cho các bài toán về computer vision nhờ các Dense Block và Transition Layer ở hình 3.10 với kết quả thử nghiệm ILSVRC 2012 được báo cáo lần lượt 22,58% và 6,34% cho top-5 và top-1 error. Ngoài ra thông tin về kích thước (Size), độ chính xác (Top-1 Accurancy, Top-5 Accurancy), thông số (Parameter, Depth), hiệu suất (ms thực thi trên CPU và GPU) của các kiến trúc mô hình được tổng hợp tại hình 3.12. Bên cạng đó, để dễ gợi nhớ một số điểm nổi bật đáng chú ý của các kiến trúc mô hình cũng được ghi nhận với bảng 3.6. CPU và GPU) của các kiến trúc mô hình InceptionV3, ResNet152V2, InceptionResNetV2, Xception, DenseNet201, MobileNetV2,.

          Hỡnh 3.3: Kiến trỳc Inception module sau khi được phõn tớch với với nìn tớch chập, chọn n = 7 trờn nền lưới dữ liệu 17ì17.
          Hỡnh 3.3: Kiến trỳc Inception module sau khi được phõn tớch với với nìn tớch chập, chọn n = 7 trờn nền lưới dữ liệu 17ì17.

          Mô hình đề xuất và quy trình ứng dụng

          Tiền xử lý và cân bằng dữ liệu

            Marker đầu tiên cần quan tâm là FFD8, đó là dấu hiệu nhận biết điểm bắt đầu của một ảnh, nếu không nhận thấy có thể coi như đây là một dạng tập tin khác. Sự phân bố ảnh của các nhãn dữ liệu và số lượng ảnh cần tạo bổ sung như hình 4.2 nhằm cân bằng các nhãn dữ liệu trước khi tiến hành huấn luyện và đánh giá mô hình. - Ngẫu nhiên lật trái phải kết hợp điểu chỉnh nền màu của ảnh dựa trên.

            - Ngẫu nhiên lật trên dưới kết hợp điểu chỉnh nền màu của ảnh dựa trên độ sáng tối (brightness), độ tương phản (contrast), sắc độ (hue), độ bão hoà màu (saturation) như hình 4.4.

            Hình 4.1: Cấu trúc các phần khác nhau của một file ảnh định dạng JPG[10]
            Hình 4.1: Cấu trúc các phần khác nhau của một file ảnh định dạng JPG[10]

            So sánh khảo sát đánh giá và đề xuất mô hình phân loại ảnh

              Ở luận văn này sẽ tiến hành huấn luyện song song hai tập dev (huấn luyện tập dev, thẩm định (validation) tập test) và tập test (huấn luyện tập test, thẩm định (validation) tập dev) như một hình thức kiểm chứng chéo (cross validation) để việc đánh giá kết quả được khách quan hơn. Dữ liệu sẽ được (xáo) shuffle trước khi tiến hành huấn luyện, các thông số sử dụng để phân tích và đánh giá mô hình huấn luyện cho từng trường hợp khảo sát gồm có: giá trị mất mát (Loss) độ chính xác (Accuracy) của tập huấn luyện, giá trị mất mát (Val Loss) độ chính xác (Val Accuracy) của tập thẩm định (validation). Cụ thể đối với kiến trúc ResNet152V2 sự không ổn định biểu hiện rừ khi tiến hành unfreeze 10 layer cuối biểu diễn ở hỡnh 4.6, cũn ở kiến trỳc InceptionResNetV2 và MobileNetV2 sẽ xảy ra hiện tượng trên khi unfreeze 15 cuối layer biểu diễn cụ thể ở hình 4.7, 4.10.

              Như vậy để tiến hành bài toán phân loại: ảnh có thông tin vân chuyển đơn hàng và không có thông tin vận chuyển đơn hàng, trong luận văn này sẽ sử dụng mô hình cl1 với kỹ thuật Transfer Learning của tập dữ liệu ảnh imagenet trên mô hình MobileNetV2 kết hợp unfreeze 5 layer cuối. Tương tự như mô hình phân loại ảnh cl1 thì mô hình phân loại ảnh cl2_top cũng tiến hành khảo sát lần lượt qua các kiến trúc: InceptionV3, ResNet152V2, InceptionResNetV2, Xception, DenseNet201, MobileNetV2, EfficientNetB7 kếp hợp với các phương thức: freeze tất cả layer, unfreeze 20, 15, 10, 5 layer cuối của kiến trúc mô hình. Nguyên nhân gây ra hiện tượng này là do: dữ liệu và tính chất bài toán bài toán phân loại ảnh thay đổi, điều này dẫn đến sự phụ thuộc vào số lượng layer của kiến trúc áp dụng cho mô hình, đó là lý do tại sao mặc dù kiến trúc MobileNetV2 (có 154 layer) vẫn chứa các residual connection nhưng khi so sánh với ResNet152V2 (564 layer) và InceptionResNetV2 (780 layer) lại có phần kém hiệu quả hơn tham khảo ở hình 4.17.

              Ngoài ra, điểm tương đồng xuất hiện trong quá trình khảo sát mô hình phân loại ảnh cl2_top so với mô hình phân loại ảnh cl1 là khi tiến hành thao tác unfreeze 5 layer cuối cùng của các kiến trúc InceptionV3, DenseNet201, EfficientNetB7 đều cho kết quả tốt hơn, tham khảo chi tiết kết quả thông qua các hình 4.12, 4.12, 4.12.

              Hình 4.5: Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val Loss) của kiến trúc InceptionV3 cho mô hình cl1 với các trường hợp:
              Hình 4.5: Kết quả huấn luyện (Accurancy, Val Accurancy, Loss và Val Loss) của kiến trúc InceptionV3 cho mô hình cl1 với các trường hợp:

              Quy trình ứng dụng đề xuất và tính khả thi

              + Xây dựng cơ sở dữ liệu để truy vấn các thông tin liên quan đến quy trình POD của đơn hàng tham khảo ở hình 4.29.

              Hình 4.29: Giao diện truy vấn dữ liệu kiểm tra thông tin POD của đơn hàng
              Hình 4.29: Giao diện truy vấn dữ liệu kiểm tra thông tin POD của đơn hàng