Hướng dẫn năm 2021 về Phân đoạn ngữ nghĩa

Nút nguồn: 872271

Giới thiệu

Học sâu đã rất thành công khi làm việc với hình ảnh dưới dạng dữ liệu và hiện đang ở giai đoạn mà nó hoạt động tốt hơn con người trong nhiều trường hợp sử dụng. Các vấn đề quan trọng nhất mà con người quan tâm đến việc giải quyết bằng thị giác máy tính là phân loại hình ảnh, phát hiện đối tượng và phân đoạn theo thứ tự tăng dần độ khó của chúng.

Trong nhiệm vụ cũ đơn giản là phân loại hình ảnh, chúng tôi chỉ quan tâm đến việc lấy nhãn của tất cả các đối tượng có trong một hình ảnh. Trong phát hiện đối tượng, chúng tôi tiến thêm một bước và cố gắng biết cùng với tất cả các đối tượng hiện diện trong một hình ảnh, vị trí mà các đối tượng hiện diện với sự trợ giúp của các hộp giới hạn. Phân vùng hình ảnh đưa nó lên một tầm cao mới bằng cách cố gắng tìm ra chính xác ranh giới chính xác của các đối tượng trong hình ảnh.

Nguồn http://cs224d.stanford.edu/index.html

Trong bài viết này, chúng ta sẽ xem xét khái niệm phân đoạn hình ảnh này, thảo luận về các trường hợp sử dụng có liên quan, các kiến ​​trúc mạng thần kinh khác nhau liên quan đến việc đạt được kết quả, số liệu và bộ dữ liệu để khám phá.

phân vùng hình ảnh là gì

Chúng tôi biết một hình ảnh không là gì ngoài một tập hợp các pixel. Phân đoạn hình ảnh là quá trình phân loại từng pixel trong một hình ảnh thuộc về một lớp nhất định và do đó có thể được coi là một vấn đề phân loại trên mỗi pixel. Có hai loại kỹ thuật phân vùng

Source http://cs231n.stanford.edu/slides/2017/cs231n_2017_lecture11.pdf
  1. Phân đoạn ngữ nghĩa :- Phân đoạn ngữ nghĩa là quá trình phân loại từng pixel thuộc một nhãn cụ thể. Nó không khác nhau giữa các phiên bản khác nhau của cùng một đối tượng. Ví dụ: nếu có 2 con mèo trong một hình ảnh, phân đoạn ngữ nghĩa sẽ đặt cùng một nhãn cho tất cả các pixel của cả hai con mèo
  2. Phân đoạn phiên bản :- Phân đoạn trường hợp khác với phân đoạn ngữ nghĩa theo nghĩa là nó cung cấp một nhãn duy nhất cho mọi trường hợp của một đối tượng cụ thể trong ảnh. Như có thể thấy trong hình trên, cả 3 chú chó đều được gán các màu khác nhau tức là các nhãn khác nhau. Với phân đoạn ngữ nghĩa, tất cả chúng sẽ được gán cùng một màu.

Vì vậy, bây giờ chúng ta sẽ đến điểm mà chúng ta cần loại thuật toán này

Các trường hợp sử dụng phân đoạn hình ảnh

Nhận dang chu Viet :- Junjo et all đã chứng minh cách phân đoạn ngữ nghĩa đang được sử dụng để trích xuất các từ và dòng từ các tài liệu viết tay trong Bài nghiên cứu năm 2019 để nhận ra các ký tự viết tay

nguồn

Chế độ dọc của Google : - Có nhiều trường hợp sử dụng trong đó việc tách tiền cảnh khỏi hậu cảnh là vô cùng cần thiết. Ví dụ: trong chế độ dọc của Google, chúng ta có thể thấy hậu cảnh bị mờ trong khi tiền cảnh không thay đổi để tạo hiệu ứng thú vị

Nguồn:- https://ai.googleblog.com/2018/03/mobile-real-time-video-segmentation.html

câu chuyện trên YouTube :- Google gần đây đã phát hành một tính năng câu chuyện trên YouTube dành cho người tạo nội dung để hiển thị các nền khác nhau trong khi tạo câu chuyện.

Nguồn:- https://ai.googleblog.com/2018/03/mobile-real-time-video-segmentation.html

trang điểm ảo : - Hiện có thể áp dụng son môi ảo với sự trợ giúp của phân đoạn hình ảnh

Nguồn:- https://www.theverge.com/2017/3/16/14946086/sephora-virtual-assistant-ios-app-update-ar-makeup

4.Dùng thử ảo :- Thử quần áo ảo là một tính năng thú vị có sẵn trong các cửa hàng sử dụng phần cứng chuyên dụng để tạo mô hình 3d. Nhưng với việc học sâu và phân đoạn hình ảnh, có thể thu được điều tương tự chỉ bằng một hình ảnh 2d

Nguồn:- https://arxiv.org/pdf/1807.07688.pdf

Tìm kiếm hình ảnh trực quan :- Ý tưởng phân đoạn quần áo cũng được sử dụng trong các thuật toán truy xuất hình ảnh trong Thương mại điện tử. Ví dụ: Pinterest/Amazon cho phép bạn tải lên bất kỳ hình ảnh nào và nhận các sản phẩm tương tự có liên quan bằng cách thực hiện tìm kiếm hình ảnh dựa trên việc phân chia phần vải

Nguồn:- https://github.com/paucarre/tiefvision

Xe tự hành : - Ô tô tự lái cần có sự hiểu biết đầy đủ về môi trường xung quanh ở mức pixel hoàn hảo. Do đó, phân đoạn hình ảnh được sử dụng để xác định làn đường và các thông tin cần thiết khác

Nguồn:- https://medium.com/intro-to-artificial-intelligence/semantic-segmentation-udaitys-elf-drive-car-engineer-nanodegree-c01eb6eaf9d

Nanonets giúp các công ty trong số 500 công ty may mắn cho phép trải nghiệm khách hàng tốt hơn trên quy mô lớn bằng cách sử dụng Phân đoạn ngữ nghĩa.

Phương pháp và Kỹ thuật

Trước khi deep learning ra đời, các kỹ thuật machine learning cổ điển như SVM, Random Forest, K-means Clustering đã được sử dụng để giải quyết vấn đề phân đoạn ảnh. Nhưng cũng giống như hầu hết các tuyên bố vấn đề liên quan đến hình ảnh, học sâu đã hoạt động tốt hơn toàn diện so với các kỹ thuật hiện có và hiện đã trở thành một tiêu chuẩn khi xử lý Phân đoạn ngữ nghĩa. Hãy xem lại các kỹ thuật đang được sử dụng để giải quyết vấn đề

Mạng kết hợp hoàn toàn

Kiến trúc chung của CNN bao gồm một số lớp tích chập và tổng hợp, theo sau là một số lớp được kết nối đầy đủ ở cuối. Bài báo về Mạng kết hợp hoàn toàn được phát hành vào năm 2014 lập luận rằng lớp được kết nối đầy đủ cuối cùng có thể được coi là thực hiện tích chập 1×1 bao phủ toàn bộ khu vực.

Nguồn:- https://arxiv.org/abs/1411.4038

Do đó, các lớp dày đặc cuối cùng có thể được thay thế bằng một lớp tích chập đạt được kết quả tương tự. Nhưng bây giờ lợi thế của việc này là kích thước của đầu vào không cần phải cố định nữa. Khi liên quan đến các lớp dày đặc, kích thước của đầu vào bị hạn chế và do đó khi phải cung cấp một đầu vào có kích thước khác thì nó phải được thay đổi kích thước. Nhưng bằng cách thay thế một lớp dày đặc bằng tích chập, hạn chế này không tồn tại.

Ngoài ra, khi kích thước hình ảnh lớn hơn được cung cấp làm đầu vào, đầu ra được tạo ra sẽ là một bản đồ đặc trưng chứ không chỉ là đầu ra của lớp như đối với hình ảnh có kích thước đầu vào bình thường. Ngoài ra, hành vi được quan sát của bản đồ tính năng cuối cùng đại diện cho bản đồ nhiệt của lớp được yêu cầu, tức là vị trí của đối tượng được tô sáng trong bản đồ tính năng. Vì đầu ra của bản đồ tính năng là bản đồ nhiệt của đối tượng được yêu cầu nên đây là thông tin hợp lệ cho trường hợp sử dụng phân đoạn của chúng tôi.

Vì bản đồ tính năng thu được ở lớp đầu ra được lấy mẫu xuống do tập hợp các phép chập được thực hiện, nên chúng tôi muốn lấy mẫu lên bằng kỹ thuật nội suy. Lấy mẫu song tuyến tính hoạt động nhưng bài báo đề xuất sử dụng lấy mẫu đã học với giải mã, thậm chí có thể học cách lấy mẫu phi tuyến tính.

Phần lấy mẫu xuống của mạng được gọi là bộ mã hóa và phần lấy mẫu lên được gọi là bộ giải mã. Đây là một mẫu mà chúng ta sẽ thấy trong nhiều kiến ​​trúc, tức là giảm kích thước bằng bộ mã hóa và sau đó tăng lấy mẫu bằng bộ giải mã. Trong một thế giới lý tưởng, chúng tôi sẽ không muốn giảm mẫu bằng cách sử dụng gộp và giữ nguyên kích thước trong suốt nhưng điều đó sẽ dẫn đến một lượng lớn tham số và sẽ không khả thi về mặt tính toán.

Nguồn:- https://arxiv.org/abs/1411.4038

Mặc dù kết quả đầu ra thu được là khá nhưng đầu ra quan sát được là thô và không trơn tru. Lý do cho điều này là do mất thông tin ở lớp tính năng cuối cùng do lấy mẫu xuống 32 lần bằng cách sử dụng các lớp tích chập. Hiện tại, mạng rất khó thực hiện lấy mẫu gấp 32 lần bằng cách sử dụng ít thông tin này. Kiến trúc này được gọi là FCN-32

Để giải quyết vấn đề này, bài báo đề xuất 2 kiến ​​trúc khác FCN-16, FCN-8. Trong FCN-16, thông tin từ lớp tổng hợp trước đó được sử dụng cùng với bản đồ tính năng cuối cùng và do đó, nhiệm vụ của mạng bây giờ là tìm hiểu lấy mẫu tăng 16 lần, tốt hơn so với FCN-32. FCN-8 cố gắng làm cho nó tốt hơn nữa bằng cách bao gồm thông tin từ một lớp tổng hợp trước đó.

Unet

U-net được xây dựng trên mạng tích chập hoàn toàn từ bên trên. Nó được chế tạo cho mục đích y tế để tìm khối u trong phổi hoặc não. Nó cũng bao gồm một bộ mã hóa lấy mẫu hình ảnh đầu vào xuống bản đồ đặc trưng và bộ giải mã lấy mẫu bản đồ đặc trưng thành kích thước hình ảnh đầu vào bằng cách sử dụng các lớp giải chập đã học.

Nguồn:- https://arxiv.org/abs/1505.04597

Đóng góp chính của kiến ​​trúc U-Net là các kết nối tắt. Chúng tôi đã thấy ở trên trong FCN rằng vì chúng tôi lấy mẫu xuống một hình ảnh như một phần của bộ mã hóa nên chúng tôi đã mất rất nhiều thông tin không thể khôi phục dễ dàng trong phần bộ mã hóa. FCN cố gắng giải quyết vấn đề này bằng cách lấy thông tin từ các lớp tổng hợp trước lớp tính năng cuối cùng.

U-Net đề xuất một cách tiếp cận mới để giải quyết vấn đề mất thông tin này. Nó đề xuất gửi thông tin đến mọi lớp lấy mẫu lên trong bộ giải mã từ lớp lấy mẫu xuống tương ứng trong bộ mã hóa như có thể thấy trong hình trên, do đó thu được thông tin tốt hơn trong khi vẫn giữ mức tính toán thấp. Vì các lớp ở phần đầu của bộ mã hóa sẽ có nhiều thông tin hơn nên chúng sẽ hỗ trợ hoạt động lấy mẫu của bộ giải mã bằng cách cung cấp các chi tiết nhỏ tương ứng với hình ảnh đầu vào, do đó cải thiện kết quả rất nhiều. Bài báo cũng đề xuất sử dụng một hàm mất mát mới mà chúng ta sẽ thảo luận dưới đây.

Phòng thí nghiệm sâu

Deeplab từ một nhóm các nhà nghiên cứu của Google đã đề xuất vô số kỹ thuật để cải thiện các kết quả hiện có và thu được kết quả tốt hơn với chi phí tính toán thấp hơn. 3 cải tiến chính được đề xuất như một phần của nghiên cứu là

1) Kết cấu phức tạp
2) Tập hợp hình chóp không gian tâm nhĩ
3) Sử dụng Trường ngẫu nhiên có điều kiện để cải thiện kết quả cuối cùng
Hãy thảo luận về tất cả những điều này

tích chập

Một trong những vấn đề chính với cách tiếp cận của FCN là việc thu hẹp quy mô quá mức do các hoạt động gộp liên tục. Do một loạt tổng hợp, hình ảnh đầu vào được lấy mẫu xuống 32 lần, một lần nữa được lấy mẫu để có kết quả phân đoạn. Lấy mẫu xuống 32 lần dẫn đến mất thông tin, điều này rất quan trọng để có được đầu ra tốt trong tác vụ phân đoạn. Ngoài ra, việc giải mã để tăng mẫu lên 32 lần là một hoạt động tốn kém bộ nhớ và tính toán do có các tham số bổ sung liên quan đến việc hình thành một mẫu đã học.

Bài báo đề xuất việc sử dụng tích chập Atrous hoặc tích chập lỗ trống hoặc tích chập giãn nở giúp hiểu được ngữ cảnh lớn bằng cách sử dụng cùng một số tham số.

Source:- https://www.mdpi.com/1424-8220/19/24/5361/htm

Tích chập giãn nở hoạt động bằng cách tăng kích thước của bộ lọc bằng cách thêm các số 1 (được gọi là lỗ) để lấp đầy khoảng cách giữa các tham số. Số lượng lỗ/số không được điền vào giữa các tham số bộ lọc được gọi bằng tốc độ giãn nở. Khi tỷ lệ bằng 2 thì không có gì khác ngoài tích chập bình thường. Khi tốc độ bằng 5, một số 5 được chèn vào giữa mọi tham số khác làm cho bộ lọc trông giống như một tích chập 5×5. Giờ đây, nó có khả năng lấy bối cảnh tích chập 3×3 trong khi có tham số tích chập 3×7. Tương tự như vậy đối với tỷ lệ 7, lĩnh vực tiếp nhận chuyển sang XNUMX × XNUMX.

Trong Deeplab, các lớp tổng hợp cuối cùng được thay thế để có bước tiến 1 thay vì 2, do đó giữ tốc độ lấy mẫu xuống chỉ còn 8 lần. Sau đó, một loạt các kết cấu phức tạp được áp dụng để nắm bắt bối cảnh lớn hơn. Để đào tạo, mặt nạ có nhãn đầu ra được lấy mẫu xuống 8 lần để so sánh từng pixel. Để suy luận, lấy mẫu song tuyến tính được sử dụng để tạo ra đầu ra có cùng kích thước, mang lại kết quả đủ tốt với chi phí tính toán/bộ nhớ thấp hơn do lấy mẫu song tuyến tính không cần bất kỳ tham số nào trái ngược với giải mã để lấy mẫu.

ASPP

Spatial Pyramidal Pooling là một khái niệm được giới thiệu trong SPPNet để nắm bắt thông tin đa tỷ lệ từ bản đồ đối tượng địa lý. Trước khi giới thiệu hình ảnh đầu vào SPP ở các độ phân giải khác nhau được cung cấp và các bản đồ tính năng được tính toán được sử dụng cùng nhau để lấy thông tin đa tỷ lệ nhưng điều này cần nhiều tính toán và thời gian hơn. Với Spatial Pyramidal Pooling, thông tin đa tỷ lệ có thể được ghi lại bằng một hình ảnh đầu vào duy nhất.

Nguồn:- http://kaiminghe.com/eccv14sppnet/index.html

Với mô-đun SPP, mạng tạo ra 3 đầu ra có kích thước 1×1(tức là GAP), 2×2 và 4×4. Các giá trị này được nối bằng cách chuyển đổi thành vectơ 1d, do đó thu thập thông tin ở nhiều tỷ lệ. Một ưu điểm khác của việc sử dụng SPP là hình ảnh đầu vào có kích thước bất kỳ có thể được cung cấp.

ASPP lấy khái niệm kết hợp thông tin từ các thang đo khác nhau và áp dụng nó cho các kết chập Atrous. Đầu vào được kết hợp với các tốc độ giãn nở khác nhau và đầu ra của chúng được hợp nhất với nhau.

Nguồn:- http://liangchiehchen.com/projects/DeepLab.html

Như có thể thấy, đầu vào được tích hợp với các bộ lọc 3×3 có tốc độ giãn 6, 12, 18 và 24 và các đầu ra được nối với nhau vì chúng có cùng kích thước. Đầu ra tích chập 1×1 cũng được thêm vào đầu ra hợp nhất. Để cung cấp thông tin toàn cầu, đầu ra GAP cũng được thêm vào ở trên sau khi lấy mẫu. Đầu ra hợp nhất của các đầu ra mở rộng đa dạng 3×3, đầu ra 1×1 và GAP được chuyển qua tích chập 1×1 để có được số lượng kênh cần thiết.

Vì hình ảnh được yêu cầu được phân đoạn có thể có kích thước bất kỳ trong đầu vào, thông tin đa tỷ lệ từ ASPP giúp cải thiện kết quả.

Cải thiện đầu ra với CRF

Tổng hợp là một hoạt động giúp giảm số lượng tham số trong mạng thần kinh nhưng nó cũng mang lại một thuộc tính bất biến cùng với nó. Tính bất biến là chất lượng của mạng thần kinh không bị ảnh hưởng bởi các bản dịch nhỏ trong đầu vào. Do thuộc tính này có được khi gộp, đầu ra phân đoạn thu được từ mạng nơ-ron là thô và các ranh giới không được xác định cụ thể.

Nguồn:- http://liangchiehchen.com/projects/DeepLab.html

Để giải quyết vấn đề này, bài báo đề xuất sử dụng mô hình đồ họa CRF. Trường ngẫu nhiên có điều kiện vận hành một bước xử lý hậu kỳ và cố gắng cải thiện kết quả được tạo ra để xác định ranh giới định hình. Nó hoạt động bằng cách phân loại một pixel không chỉ dựa trên nhãn của nó mà còn dựa trên các nhãn pixel khác. Như có thể thấy từ hình trên, ranh giới thô do mạng thần kinh tạo ra sẽ trở nên tinh tế hơn sau khi đi qua CRF.

Deeplab-v3 đã giới thiệu chuẩn hóa hàng loạt và tốc độ giãn được đề xuất nhân với (1,2,4) bên trong mỗi lớp trong khối Resnet. Ngoài ra, việc thêm các tính năng cấp độ hình ảnh vào mô-đun ASPP đã được thảo luận trong cuộc thảo luận ở trên về ASPP đã được đề xuất như một phần của bài báo này

Nguồn:- https://arxiv.org/pdf/1706.05587.pdf

Deeplab-v3+ đề xuất có bộ giải mã thay vì lấy mẫu song tuyến tính đơn giản 16x. Bộ giải mã lấy gợi ý từ bộ giải mã được sử dụng bởi các kiến ​​trúc như U-Net lấy thông tin từ các lớp mã hóa để cải thiện kết quả. Đầu ra của bộ mã hóa được lấy mẫu lên 4x bằng cách sử dụng lấy mẫu lên song tuyến tính và được nối với các tính năng từ bộ mã hóa được lấy mẫu lại lên 4x sau khi thực hiện tích chập 3×3. Cách tiếp cận này mang lại kết quả tốt hơn so với lấy mẫu trực tiếp 16 lần. Kiến trúc Xception đã sửa đổi cũng được đề xuất sử dụng thay vì Resnet như một phần của bộ mã hóa và các kết chập có thể phân tách theo chiều sâu hiện được sử dụng trên các kết chập Atrous để giảm số lượng tính toán.

Mạng tích chập toàn cầu

Nguồn: - https://arxiv.org/pdf/1703.02719.pdf

Phân đoạn ngữ nghĩa liên quan đến việc thực hiện đồng thời hai tác vụ

i) Phân loại
ii) Bản địa hóa

Các mạng phân loại được tạo ra để bất biến đối với dịch và xoay, do đó không coi trọng thông tin vị trí trong khi bản địa hóa liên quan đến việc lấy thông tin chi tiết chính xác về vị trí. Như vậy vốn dĩ hai nhiệm vụ này trái ngược nhau. Hầu hết các thuật toán phân đoạn đều coi trọng bản địa hóa hơn, tức là thứ hai trong hình trên và do đó bỏ qua bối cảnh toàn cầu. Trong công việc này, tác giả đề xuất một cách để coi trọng nhiệm vụ phân loại đồng thời không làm mất thông tin bản địa hóa

Nguồn: - https://arxiv.org/pdf/1703.02719.pdf

Tác giả đề xuất đạt được điều này bằng cách sử dụng các hạt nhân lớn như một phần của mạng, do đó cho phép các kết nối dày đặc và do đó có nhiều thông tin hơn. Điều này đạt được với sự trợ giúp của khối GCN như có thể thấy trong hình trên. Khối GCN có thể được coi là bộ lọc tích chập akxk trong đó k có thể là một số lớn hơn 3. Để giảm số lượng tham số, bộ lọc akxk được chia thành các khối 1 xk và kx 1, kx1 và 1xk sau đó được cộng lại. Do đó, bằng cách tăng giá trị k, bối cảnh lớn hơn sẽ được nắm bắt.

Ngoài ra, tác giả đề xuất một khối tinh chỉnh ranh giới tương tự như một khối dư trong Resnet bao gồm một kết nối tắt và một kết nối dư được cộng lại để có được kết quả. Người ta quan sát thấy rằng việc có một khối Tinh chỉnh ranh giới dẫn đến việc cải thiện kết quả ở ranh giới của phân đoạn.

Kết quả cho thấy khối GCN đã cải thiện độ chính xác phân loại của các pixel gần tâm đối tượng hơn cho thấy sự cải thiện do chụp bối cảnh tầm xa trong khi khối Tinh chỉnh ranh giới giúp cải thiện độ chính xác của các pixel gần ranh giới hơn.

Xem nhiều hơn một lần – KSAC cho phân đoạn ngữ nghĩa

Dòng Deeplab sử dụng ASPP để có nhiều trường tiếp nhận thu thập thông tin bằng cách sử dụng các tốc độ tích chập khác nhau. Mặc dù ASPP đã rất hữu ích trong việc cải thiện việc phân đoạn kết quả nhưng vẫn có một số vấn đề cố hữu do kiến ​​trúc gây ra. Không có thông tin nào được chia sẻ trên các lớp song song khác nhau trong ASPP, do đó ảnh hưởng đến sức mạnh tổng quát hóa của các hạt nhân trong mỗi lớp. Ngoài ra, vì mỗi lớp phục vụ cho các nhóm mẫu đào tạo khác nhau (đối tượng nhỏ hơn với tốc độ khó khăn nhỏ hơn và đối tượng lớn hơn với tốc độ khó khăn lớn hơn), lượng dữ liệu cho mỗi lớp song song sẽ ít hơn, do đó ảnh hưởng đến khả năng khái quát hóa tổng thể. Ngoài ra, số lượng tham số trong mạng tăng tuyến tính với số lượng tham số và do đó có thể dẫn đến trang bị quá mức.

Nguồn: - https://arxiv.org/pdf/1908.09443.pdf

Để xử lý tất cả những vấn đề này, tác giả đề xuất một cấu trúc mạng mới có tên là Kernel-Sharing Atrous Convolution (KSAC). Như có thể thấy trong hình trên, thay vì có một hạt nhân khác nhau cho mỗi lớp song song, ASPP có một hạt nhân duy nhất được chia sẻ qua đó, do đó cải thiện khả năng tổng quát hóa của mạng. Bằng cách sử dụng KSAC thay vì ASPP, 62% tham số được lưu khi tỷ lệ giãn nở 6,12 và 18 được sử dụng.

Một ưu điểm khác của việc sử dụng cấu trúc KSAC là số lượng tham số độc lập với số lượng tỷ lệ giãn nở được sử dụng. Vì vậy, chúng tôi có thể thêm càng nhiều tỷ lệ càng tốt mà không cần tăng kích thước mô hình. ASPP cho kết quả tốt nhất với tỷ lệ 6,12,18 nhưng độ chính xác giảm với 6,12,18,24 cho biết có thể bị quá khớp. Nhưng độ chính xác của KSAC vẫn được cải thiện đáng kể cho thấy khả năng tổng quát hóa được nâng cao.

Kỹ thuật chia sẻ hạt nhân này cũng có thể được coi là một phần mở rộng trong không gian tính năng do cùng một hạt nhân được áp dụng trên nhiều tỷ lệ. Tương tự như cách tăng đầu vào mang lại kết quả tốt hơn, tính năng tăng cường được thực hiện trong mạng sẽ giúp cải thiện khả năng biểu diễn của mạng.

Phân đoạn video

Đối với các trường hợp sử dụng như ô tô tự lái, người máy, v.v., cần có phân đoạn thời gian thực trên video được quan sát. Các kiến ​​trúc được thảo luận cho đến nay được thiết kế khá nhiều cho độ chính xác chứ không phải cho tốc độ. Vì vậy, nếu chúng được áp dụng trên cơ sở từng khung hình trên video, kết quả sẽ đạt được tốc độ rất thấp.

Ngoài ra, nói chung trong một video, có rất nhiều cảnh trùng lặp trong các khung hình liên tiếp có thể được sử dụng để cải thiện kết quả và tốc độ sẽ không thành hình nếu việc phân tích được thực hiện trên cơ sở từng khung hình. Sử dụng các gợi ý này, hãy cùng thảo luận về các kiến ​​trúc được thiết kế riêng cho video

STCN

Spatio-Temporal FCN đề xuất sử dụng FCN cùng với LSTM để thực hiện phân đoạn video. Chúng tôi đã biết cách FCN có thể được sử dụng để trích xuất các tính năng để phân đoạn hình ảnh. LSTM là một loại mạng thần kinh có thể thu thập thông tin tuần tự theo thời gian. STFCN kết hợp sức mạnh của FCN với LSTM để nắm bắt cả thông tin không gian và thông tin thời gian

Nguồn:- https://arxiv.org/abs/1608.05971

Như có thể thấy từ hình trên, STFCN bao gồm một FCN, mô-đun Không-thời gian theo sau là quá trình giải mã. Bản đồ tính năng do FCN tạo ra được gửi đến Mô-đun Không gian-Thời gian cũng có đầu vào từ mô-đun của khung trước đó. Mô-đun dựa trên cả hai đầu vào này sẽ ghi lại thông tin thời gian bên cạnh thông tin không gian và gửi nó qua đó được lấy mẫu theo kích thước ban đầu của hình ảnh bằng cách sử dụng giải mã tương tự như cách nó được thực hiện trong FCN

Vì cả FCN và LSTM đều hoạt động cùng nhau như một phần của STFCN nên mạng hoàn toàn có thể đào tạo được và vượt trội so với các phương pháp phân đoạn khung đơn. Có những cách tiếp cận tương tự trong đó LSTM được thay thế bằng GRU nhưng khái niệm này giống nhau về việc nắm bắt cả thông tin không gian và thời gian

CNN video ngữ nghĩa thông qua cong vênh đại diện

Bài viết này đề xuất việc sử dụng luồng quang qua các khung liền kề như một đầu vào bổ sung để cải thiện kết quả phân đoạn

Nguồn:- https://arxiv.org/abs/1708.03088

Cách tiếp cận được đề xuất có thể được đưa vào bất kỳ kiến ​​trúc tiêu chuẩn nào dưới dạng phần bổ trợ. Thành phần quan trọng đang diễn ra là mô-đun NetWarp. Để tính toán bản đồ phân đoạn, luồng quang giữa khung hiện tại và khung trước đó được tính tức là Ft và được chuyển qua FlowCNN để nhận Λ(Ft) . Quá trình này được gọi là Chuyển đổi dòng chảy. Giá trị này được truyền qua mô-đun sợi dọc, mô-đun này cũng nhận đầu vào là bản đồ đặc trưng của lớp trung gian được tính toán bằng cách truyền qua mạng. Điều này tạo ra một bản đồ tính năng bị cong vênh, sau đó được kết hợp với bản đồ tính năng trung gian của lớp hiện tại và toàn bộ mạng được đào tạo từ đầu đến cuối. Kiến trúc này đã đạt được kết quả SOTA trên bộ dữ liệu điểm chuẩn video CamVid và Cityscapes.

Clockwork Convnets cho phân đoạn ngữ nghĩa video

Bài báo này đề xuất cải thiện tốc độ thực thi của mạng nơ-ron cho nhiệm vụ phân đoạn trên video bằng cách tận dụng thực tế là thông tin ngữ nghĩa trong video thay đổi chậm so với thông tin ở cấp độ pixel. Vì vậy, thông tin trong các lớp cuối cùng thay đổi với tốc độ chậm hơn nhiều so với các lớp đầu tiên. Bài viết gợi ý những thời điểm khác nhau

Nguồn:- https://arxiv.org/abs/1608.03609

Hình trên thể hiện tốc độ so sánh thay đổi đối với lớp cấp trung bình pool4 và lớp sâu fc7. Ở bên trái, chúng ta thấy rằng vì có nhiều thay đổi trên các khung nên cả hai lớp đều hiển thị thay đổi nhưng thay đổi đối với nhóm 4 cao hơn. Ở bên phải, chúng tôi thấy rằng không có nhiều thay đổi trên các khung hình. Do đó, pool4 hiển thị thay đổi cận biên trong khi fc7 hiển thị thay đổi gần như bằng không.

Nghiên cứu sử dụng khái niệm này và gợi ý rằng trong trường hợp không có nhiều thay đổi giữa các khung thì không cần tính toán lại các tính năng/đầu ra và có thể sử dụng các giá trị được lưu trong bộ nhớ cache từ khung trước đó. Vì tốc độ thay đổi thay đổi theo các lớp, các đồng hồ khác nhau có thể được đặt cho các nhóm lớp khác nhau. Khi đồng hồ tích tắc, các kết quả đầu ra mới được tính toán, nếu không, các kết quả được lưu trong bộ nhớ cache sẽ được sử dụng. Tốc độ tích tắc của đồng hồ có thể được cố định tĩnh hoặc có thể được học động

Nguồn:- https://arxiv.org/abs/1608.03609

Phân đoạn ngữ nghĩa video có độ trễ thấp

Bài viết này cải thiện phần đầu của cuộc thảo luận ở trên bằng cách chọn một cách thích ứng các khung để tính toán bản đồ phân đoạn hoặc sử dụng kết quả được lưu trong bộ nhớ cache thay vì sử dụng bộ đếm thời gian cố định hoặc phương pháp phỏng đoán.

Nguồn:- https://arxiv.org/abs/1804.00389

Bài báo đề xuất chia mạng thành 2 phần, đặc trưng cấp thấp và đặc trưng cấp cao. Chi phí tính toán các tính năng cấp thấp trong mạng ít hơn nhiều so với các tính năng cao hơn. Nghiên cứu đề xuất sử dụng các tính năng mạng cấp thấp làm chỉ báo về sự thay đổi trong bản đồ phân đoạn. Trong các quan sát của họ, họ đã tìm thấy mối tương quan chặt chẽ giữa thay đổi tính năng cấp thấp và thay đổi bản đồ phân đoạn. Vì vậy, để hiểu liệu có cần tính toán hay không nếu cần tính toán các tính năng cao hơn, sự khác biệt về tính năng thấp hơn giữa 2 khung hình được tìm thấy và được so sánh nếu nó vượt qua một ngưỡng cụ thể. Toàn bộ quá trình này được tự động hóa bởi một mạng thần kinh nhỏ có nhiệm vụ lấy các đặc trưng thấp hơn của hai khung hình và đưa ra dự đoán liệu các đặc trưng cao hơn có nên được tính toán hay không. Vì quyết định mạng dựa trên các khung đầu vào nên quyết định được đưa ra là động so với phương pháp trên.

Phân đoạn cho các đám mây điểm

Dữ liệu đến từ một cảm biến, chẳng hạn như lidar, được lưu trữ ở định dạng có tên là Point Cloud. Đám mây điểm không là gì ngoài một tập hợp các điểm dữ liệu 3d không có thứ tự (hoặc bất kỳ thứ nguyên nào). Nó là một đại diện thưa thớt của cảnh trong 3d và CNN không thể được áp dụng trực tiếp trong trường hợp như vậy. Ngoài ra, bất kỳ kiến ​​trúc nào được thiết kế để đối phó với các đám mây điểm nên xem xét rằng nó là một tập hợp không có thứ tự và do đó có thể có rất nhiều hoán vị có thể. Vì vậy, mạng nên được hoán vị bất biến. Ngoài ra, các điểm được xác định trong đám mây điểm có thể được mô tả bằng khoảng cách giữa chúng. Vì vậy, các điểm gần hơn nói chung mang thông tin hữu ích hữu ích cho các nhiệm vụ phân đoạn

ĐiểmNet

PointNet là một bài báo quan trọng trong lịch sử nghiên cứu về các đám mây điểm sử dụng học sâu để giải quyết các nhiệm vụ phân loại và phân đoạn. Hãy nghiên cứu kiến ​​trúc của Pointnet

Nguồn:- https://arxiv.org/abs/1612.00593

Đầu vào của mạng cho n điểm là ma trận nx3. Ma trận nx 3 được ánh xạ tới nx 64 bằng cách sử dụng lớp đa tri giác dùng chung (mạng được kết nối đầy đủ), sau đó được ánh xạ tới nx 64 rồi tới nx 128 và nx 1024. Tổng hợp tối đa được áp dụng để có được vectơ 1024 được chuyển đổi thành k đầu ra bằng cách đi qua MLP với kích thước 512, 256 và k. Cuối cùng k đầu ra lớp được tạo ra tương tự như bất kỳ mạng phân loại nào.

Phân loại chỉ giải quyết các tính năng toàn cầu nhưng phân đoạn cũng cần các tính năng cục bộ. Vì vậy, các đặc trưng cục bộ từ lớp trung gian tại nx 64 được nối với các đặc trưng toàn cầu để có được ma trận anx 1088 được gửi qua mlp 512 và 256 để đến nx 256 và sau đó qua MLP của 128 và m để cung cấp m lớp đầu ra cho mỗi điểm trong đám mây điểm.

Ngoài ra, mạng liên quan đến biến đổi đầu vào và biến đổi tính năng như một phần của mạng có nhiệm vụ không thay đổi hình dạng của đầu vào mà thêm bất biến vào các phép biến đổi affine, tức là dịch, xoay, v.v.

A-CNN

Nguồn:- https://arxiv.org/abs/1904.08017

A-CNN đề xuất việc sử dụng các kết cấu hình vòng để nắm bắt thông tin không gian. Chúng tôi biết từ CNN rằng các hoạt động tích chập nắm bắt thông tin cục bộ, điều cần thiết để hiểu được hình ảnh. A-CNN đã nghĩ ra một phép tích chập mới gọi là phép tích chập Hình khuyên được áp dụng cho các điểm lân cận trong đám mây điểm.

Kiến trúc lấy nx 3 điểm làm đầu vào và tìm các quy tắc cho chúng được sử dụng để sắp xếp các điểm. Một mẫu điểm phụ được lấy bằng thuật toán FPS dẫn đến ni x 3 điểm. Trên các tích chập hình khuyên này được áp dụng để tăng lên 128 chiều. Tích chập hình khuyên được thực hiện trên các điểm lân cận được xác định bằng thuật toán KNN.

Một tập hợp khác của các thao tác trên được thực hiện để tăng kích thước lên 256. Sau đó, một mlp được áp dụng để thay đổi kích thước thành 1024 và phép gộp được áp dụng để có được một vectơ toàn cục 1024 tương tự như đám mây điểm. Toàn bộ phần này được coi là bộ mã hóa. Để phân loại, đầu ra chung của bộ mã hóa được chuyển qua mlp để nhận đầu ra của lớp c. Đối với tác vụ phân đoạn, cả các tính năng toàn cục và cục bộ đều được coi là tương tự như PointCNN và sau đó được chuyển qua MLP để nhận đầu ra m lớp cho mỗi điểm.

Metrics

Hãy thảo luận về các số liệu thường được sử dụng để hiểu và đánh giá kết quả của một mô hình.

Độ chính xác pixel

Độ chính xác của pixel là số liệu cơ bản nhất có thể được sử dụng để xác thực kết quả. Độ chính xác đạt được bằng cách lấy tỷ lệ pixel được phân loại chính xác trên tổng số pixel

Độ chính xác = (TP+TN)/(TP+TN+FP+FN)

Nhược điểm chính của việc sử dụng một kỹ thuật như vậy là kết quả có thể tốt nếu một lớp lấn át lớp kia. Ví dụ: lớp nền bao phủ 90% hình ảnh đầu vào, chúng ta có thể có độ chính xác 90% bằng cách chỉ phân loại mọi pixel làm nền

Giao lộ trên Liên minh

IOU được định nghĩa là tỷ lệ giao điểm của sự thật cơ bản và đầu ra phân đoạn được dự đoán trên liên kết của chúng. Nếu chúng ta đang tính toán cho nhiều lớp, IOU của mỗi lớp được tính và giá trị trung bình của chúng được lấy. Đó là một số liệu tốt hơn so với độ chính xác của pixel vì nếu mỗi pixel được cung cấp làm nền trong đầu vào 2 lớp thì giá trị IOU là (90/100+0/100)/2 tức là 45% IOU mang lại biểu diễn tốt hơn so với 90 % sự chính xác.

Nguồn:- https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection

IOU có trọng số tần số

Đây là một phần mở rộng trên IOU trung bình mà chúng ta đã thảo luận và được sử dụng để chống lại sự mất cân bằng giai cấp. Nếu một lớp thống trị hầu hết các phần của hình ảnh trong tập dữ liệu, chẳng hạn như nền, thì lớp đó cần được cân nhắc so với các lớp khác. Do đó, thay vì lấy giá trị trung bình của tất cả các kết quả của lớp, giá trị trung bình có trọng số được lấy dựa trên tần suất của vùng lớp trong tập dữ liệu.

Điểm F1

Số liệu được sử dụng phổ biến trong phân loại Điểm F1 cũng có thể được sử dụng cho nhiệm vụ phân đoạn để giải quyết sự mất cân bằng của lớp.

Nguồn:- https://en.wikipedia.org/wiki/F1_score

Độ chính xác trung bình

Khu vực bên dưới đường cong Chính xác – Nhớ lại cho ngưỡng trung bình IOU đã chọn trên các lớp khác nhau được sử dụng để xác thực kết quả.

Mất chức năng

Hàm mất mát được sử dụng để hướng dẫn mạng thần kinh theo hướng tối ưu hóa. Hãy thảo luận về một số hàm mất mát phổ biến cho tác vụ phân đoạn ngữ nghĩa.

Mất Entropy chéo

Mức trung bình đơn giản của tổn thất phân loại entropy chéo cho mọi pixel trong ảnh có thể được sử dụng làm hàm tổng thể. Nhưng điều này lại bị ảnh hưởng do mất cân bằng lớp mà FCN đề xuất khắc phục bằng cách sử dụng trọng số lớp

UNet cố gắng cải thiện điều này bằng cách cung cấp thêm tuổi trọng lượng cho các pixel gần đường viền là một phần của ranh giới so với các pixel bên trong vì điều này làm cho mạng tập trung hơn vào việc xác định đường viền và không đưa ra đầu ra thô.

Mất tiêu điểm

Mất tiêu cự được thiết kế để làm cho mạng tập trung vào các ví dụ khó bằng cách cung cấp thêm trọng số tuổi và cũng để giải quyết sự mất cân bằng lớp nghiêm trọng được quan sát thấy trong các máy dò đối tượng một giai đoạn. Điều tương tự cũng có thể được áp dụng trong các tác vụ phân đoạn ngữ nghĩa

Mất xúc xắc

Chức năng xúc xắc không là gì ngoài điểm số F1. Hàm mất mát này trực tiếp cố gắng tối ưu hóa điểm F1. Tương tự, điểm IOU trực tiếp cũng có thể được sử dụng để chạy tối ưu hóa

Mất Tversky

Nó là một biến thể của Dice loss mang lại tuổi cân nặng khác nhau cho FN và FP

khoảng cách Hausdorff

Nó là một kỹ thuật được sử dụng để đo lường sự giống nhau giữa ranh giới của sự thật cơ bản và dự đoán. Nó được tính bằng cách tìm ra khoảng cách tối đa từ bất kỳ điểm nào trong một ranh giới đến điểm gần nhất trong ranh giới kia. Giảm trực tiếp chức năng mất ranh giới là một xu hướng gần đây và đã được chứng minh là mang lại kết quả tốt hơn, đặc biệt là trong các trường hợp sử dụng như phân đoạn hình ảnh y tế trong đó việc xác định ranh giới chính xác đóng vai trò chính.

Ưu điểm của việc sử dụng tổn thất đường biên so với tổn thất dựa trên vùng như IOU hoặc Mất viên xúc xắc là nó không bị ảnh hưởng bởi sự mất cân bằng lớp vì toàn bộ vùng không được xem xét để tối ưu hóa, chỉ có ranh giới được xem xét.

Nguồn https://en.wikipedia.org/wiki/Hausdorff_ distance

Hai thuật ngữ được xem xét ở đây là dành cho hai ranh giới tức là sự thật cơ bản và dự đoán đầu ra.

NhãnTôi :-

Công cụ chú thích hình ảnh được viết bằng python.
Hỗ trợ chú thích đa giác.
Nguồn mở và miễn phí.
Chạy trên Windows, Mac, Ubuntu hoặc qua Anaconda, Docker
Liên kết: - https://github.com/wkentaro/labelme

Nguồn: - https://github.com/wkentaro/labelme

Công cụ chú thích thị giác máy tính: -

Công cụ chú thích video và hình ảnh do Intel phát triển
Miễn phí và có sẵn trực tuyến
Chạy trên Windows, Mac và Ubuntu
Liên kết: - https://github.com/opencv/cvat

Chú thích hình ảnh Vgg: -

Công cụ chú thích hình ảnh mã nguồn mở miễn phí
Trang html đơn giản < 200kb và có thể chạy ngoại tuyến
Hỗ trợ chú thích đa giác và điểm.
Liên kết: - https://github.com/ox-vgg/via

Nguồn: - https://github.com/ox-vgg/via

Nhãn trực tràng: -

Công cụ chú thích trả phí cho Mac
Có thể sử dụng các mô hình ML cốt lõi để chú thích trước hình ảnh
Hỗ trợ đa giác, hình khối, đường và điểm
Liên kết: - https://github.com/ryouchinsa/Rectlabel-support

Hộp nhãn: -

Công cụ chú thích trả phí
Hỗ trợ công cụ bút để chú thích nhanh hơn và chính xác
Liên kết: - https://labelbox.com/product/image-segmentation

Bộ dữ liệu

Là một phần của phần này, chúng ta hãy thảo luận về nhiều bộ dữ liệu phổ biến và đa dạng có sẵn trong cộng đồng mà người ta có thể sử dụng để bắt đầu đào tạo.

Bối cảnh Pascal

Tập dữ liệu này là phần mở rộng của tập dữ liệu Pascal VOC 2010 và vượt xa tập dữ liệu gốc bằng cách cung cấp chú thích cho toàn cảnh và có hơn 400 lớp dữ liệu trong thế giới thực.

Nguồn: - https://cs.stanford.edu/~roozbeh/pascal-context/
Nguồn: - https://cs.stanford.edu/~roozbeh/pascal-context/

Liên kết: - https://cs.stanford.edu/~roozbeh/pascal-context/

Bộ dữ liệu COCO

Bộ dữ liệu nội dung COCO có 164 nghìn hình ảnh của bộ dữ liệu COCO gốc với các chú thích ở cấp độ pixel và là bộ dữ liệu điểm chuẩn phổ biến. Nó bao gồm 172 lớp: 80 lớp điều, 91 lớp nội dung và 1 lớp 'không được gắn nhãn'

Nguồn: - http://cocodataset.org/#home

Liên kết: - http://cocodataset.org/

Bộ dữ liệu cảnh quan thành phố

Bộ dữ liệu này bao gồm các giá trị thực phân đoạn cho đường, làn đường, phương tiện và vật thể trên đường. Bộ dữ liệu bao gồm 30 lớp và 50 thành phố được thu thập trong các điều kiện thời tiết và môi trường khác nhau. Cũng có một bộ dữ liệu video gồm các hình ảnh được chú thích tinh vi có thể được sử dụng để phân đoạn video. KITTICamVid là những loại bộ dữ liệu tương tự có thể được sử dụng để đào tạo ô tô tự lái.

Nguồn: - https://www.cityscapes-dataset.com/

Liên kết: - https://www.cityscapes-dataset.com/

Tập dữ liệu Lits

Bộ dữ liệu được tạo ra như một phần của thử thách xác định các tổn thương khối u từ chụp CT gan. Bộ dữ liệu chứa 130 bản quét CT của dữ liệu đào tạo và 70 bản quét CT của dữ liệu thử nghiệm.

Nguồn: - https://competitions.codalab.org/competitions/17094

Liên kết: - https://competitions.codalab.org/competitions/17094

Bộ dữ liệu ĐCSTQ

Cloth Co-Parsing là một bộ dữ liệu được tạo ra như một phần của tài liệu nghiên cứu Đồng phân tích quần áo bằng cách dán nhãn và phân đoạn hình ảnh chung . Tập dữ liệu chứa hơn 1000 hình ảnh có chú thích cấp độ pixel cho tổng số 59 thẻ.

Nguồn: - https://github.com/bearpaw/clothing-co-parsing

Nguồn: - https://github.com/bearpaw/clothing-co-parsing

Bộ dữ liệu Pratheepan

Bộ dữ liệu được tạo cho nhiệm vụ phân khúc da dựa trên hình ảnh từ google chứa 32 ảnh khuôn mặt và 46 ảnh gia đình

Nguồn: - http://cs-chan.com/downloads_skin_dataset.html

Liên kết: - http://cs-chan.com/downloads_skin_dataset.html

Ghi nhãn hình ảnh trên không Inria

Một tập dữ liệu của các bản đồ phân đoạn trên không được tạo từ các hình ảnh thuộc phạm vi công cộng. Có diện tích 810 km vuông và có 2 hạng xây dựng và không xây dựng.

Nguồn: - https://project.inria.fr/aerialimagelabeling/
Nguồn: - https://project.inria.fr/aerialimagelabeling/

Liên kết: - https://project.inria.fr/aerialimagelabeling/

S3DIS

Bộ dữ liệu này chứa các đám mây điểm của sáu bộ phận trong nhà quy mô lớn trong 3 tòa nhà với hơn 70000 hình ảnh.

Nguồn: - http://buildingparser.stanford.edu/dataset.html

Liên kết: - http://buildingparser.stanford.edu/dataset.html

Tổng kết

Chúng tôi đã thảo luận về phân loại các thuật toán khác nhau có thể được sử dụng để giải quyết trường hợp sử dụng phân đoạn ngữ nghĩa có thể là trên hình ảnh, video hoặc đám mây điểm cũng như những đóng góp và hạn chế của chúng. Chúng tôi cũng đã xem xét các cách để đánh giá kết quả và bộ dữ liệu để bắt đầu. Điều này sẽ cung cấp một sự hiểu biết toàn diện về phân khúc ngữ nghĩa như một chủ đề nói chung.

Để có danh sách nhiều tài nguyên hơn cho phân đoạn ngữ nghĩa, hãy bắt đầu với https://github.com/mrgloom/awesome-semantic-segmentation.

Đọc thêm


Bạn có thể quan tâm đến các bài viết mới nhất của chúng tôi về:

Cập nhật:
Đã thêm tài liệu đọc thêm.

Nguồn: https://nanonets.com/blog/semantic-image-segmentation-2020/

Dấu thời gian:

Thêm từ AI & Máy học