[Lý Thuyết] Bài 1 Giới thiệu về xử lý ảnh và thị giác máy tính (computer vision)

Loạt bài học thuộc series IPCV

Posted by KyoHB on January 9, 2022

Nối tiếp sau serie về ứng dụng học máy (AML), AI with Misa xin giới thiệu với các bạn serie bài học về xử lý ảnh và thị giác máy tính (Image processing and computer vision - IPCV). Trong serie này các bạn sẽ được làm quen với các khái niệm về ảnh kỹ thuật số, cũng như các xử lý ảnh căn bản. Đây là tiền đề quan trọng giúp các bạn có nền tảng vững chắc trước khi chuyển sang học sâu (Deep Learning).

Khái niệm ảnh kỹ thuật số (digital image)

Trước khi bắt đầu tìm hiểu về các nguyên lý xử lý ảnh, chúng ta cần hiểu ảnh kỹ thuật số (digital image) là gì ?

Ảnh kỹ thuật số là một bức ảnh đã được lượng tử hóa (digitized) về cả tọa độ không gian (spatial coordinate) và cường độ (intensity). Xét trên một bức ảnh xám (gray image), mỗi điểm (x, y) trên bức ảnh kỹ thuật số cho chúng ta biết về mức độ xám (gray level) của điểm đó, mỗi điểm này được gọi là một điểm ảnh (pixel).

Chúng ta có các loại ảnh kỹ thuật số sau:

  • Ảnh nhị phân (binary image): mỗi pixel của ảnh chỉ có 2 giá trị là đen (1) và trắng (0).

  • Ảnh xám (gray image): mỗi pixel của ảnh có giá trị là cường độ đơn sắc (monochromatic intensity). Mức độ xám (gray level) bắt đầu từ mức độ 0 là đen sau đó xám dần và trắng ở mức độ cao nhất thường là 256.

  • Ảnh màu (color image): mỗi ảnh sẽ có 3 kênh màu (color chanel), phổ biến nhất là RGB (Red-Green-Blue). Mỗi pixel sẽ chứa cường độ (intensity) của mỗi kênh màu (color chanel), từ đó dung hòa và tạo nên các màu sắc khác nhau. Ảnh RGB có thể tạo ra tối đa 16,777,216 màu. Nếu các bạn còn nhớ có một thời các TV màu luôn được quảng cáo là TV 16 triệu màu 😎.

  • Ảnh chỉ mục (indexed image): Để tối ưu dung lượng của ảnh màu, các màu sắc trong ảnh sẽ được lưu lại thành một bản đồ màu (color map). Lúc này các pixel trên ảnh sẽ chứa chỉ mục (index) màu tương ứng trong bản đồ màu (color map).

Nguyên lý sử dụng của xử lý ảnh

Việc xử lý ảnh sẽ phục vụ cho các trường hợp sau:

  • Cải thiện thông tin có trong ảnh phục vụ cho việc phân tích của con người.
  • Nén dữ liệu ảnh nhằm lưu trữ và truyền dữ liệu.
  • Xử lý dữ liệu có trong ảnh phục vụ cho quá trình nhận thức của máy (machine perception) từ đó có thể giải quyết các bài toàn về nhận diện đối tượng (object detection), phân loại (classification).

Các tầng xử lý ảnh (processing levels)

Trong xử lý ảnh chúng ta có 3 tầng xử lý đó là:

  1. Xử lý tầng thấp (Low-level processing): Xử lý căn bản nhằm mục đích cải thiện chất lượng ảnh ví dụ như giảm nhiễu (reduce noise), tăng độ tương phản (contrast enhancement), tăng độ sắc nét (sharpening), làm mịn ảnh (smoothing). Ở tầng xử lý này, yêu cầu độ không có độ thông minh (no intelligent) trong quá trình xử lý.
  2. Xử lý ở tầng trung (Mid-level processing): Phân tách và đặc trưng hóa (characterize) các phần tử trong bức ảnh. Ở tầng xử lý này, một vài các xử lý yêu cầu về độ thông minh (intelligent capabilities) được áp dụng.
  3. Xử lý ở tầng cao (High-level processing): Từ những đặc trưng có được ở tầng xử lý trung, nội dung của bức ảnh sẽ được phân tích và thấu hiểu (understanding) để có thể thực hiện những tác vụ như nhận diện (recognition) hay phân loại (classification). Theo một lẽ tự nhiên, ở tầng xử lý này, yêu cầu thuật toán xử lý phải có độ thông minh cao (intelligent capabilities) và đây chính là địa phận của thị giác máy tính (computer vision).

Giả sử chúng ta cần phân tích nội dung của một bức ảnh dưới đây:

Ở tầng xử lý đầu tiên, chúng sẽ tăng độ sắc nét của bức ảnh để cho thuận tiện cho việc xử lý tiếp theo của chúng ta. Sau đó ở tầng xử lý trung, chúng ta sẽ sử dụng phương pháp nhận diện cạnh (edge detection) để có thể phân tách các vật thể trong ảnh, kết quả thu được sau 2 tầng xử lý là hình sau:

Ở tầng cuối cùng, các phần tử trong ảnh được nhận diện và đưa ra kết luận nội dung của bức ảnh như sau:

Các xử lý ảnh căn bản

Xử lý điểm ảnh: xoay (flip), đảo chiều kênh màu (negative tranformation)

Tăng cường chất lượng ảnh: tăng độ sắc nét (sharpening), tăng độ tương phản (contrast enhancement).

Phục hồi ảnh: giảm nhiễu, giảm mờ (debluring)

Xử lý hình thái học (Morphological processing): xói món (erosion), bồi đắp (dialation), mở (opening), đóng (closing)

Phân tách (segmentation): nhận diện cạnh (edge detection), tách vùng theo màu (colour region segmentation)

Kết

Trong bài học này, chúng ta đã làm quen với các khái niệm về ảnh kỹ thuật số, các thành phần trong một ảnh kỹ thuật số, các tầng xử lý ảnh và các xử lý ảnh căn bản. Trong các bài học tiếp theo chúng ta sẽ đi sâu hơn vào từng xử lý ảnh để xem chúng hoạt động như nào nhé 🤗