Professional Documents
Culture Documents
L01 Intro 2022
L01 Intro 2022
(computer vision)
Bài 1: Giới thiệu tổng quan
Giới thiệu
• Giảng viên:
‒ TS. Nguyễn Thị Oanh, TS. Trần Nguyên Ngọc, TS. Đặng Tuấn Linh
‒ Email:
• oanhnt@soict.hust.edu.vn
• ngoctn@soict.hust.edu.vn
• linhdt@soict.hust.edu.vn
‒ Đơn vị công tác:
• Trường Công nghệ thông tin và truyền thông - Đại học Bách khoa Hà
Nội
• TA
‒ Nguyễn Việt Anh
‒ Nguyễn Hữu Hải
‒ Nguyễn Hải Anh
‒ Phạm Văn Thắng
‒ Nguyễn Quốc Bình
2
Nội dung học
• Intro to CV
• Image Enhancement
• Frequency Domain
• Edge detection
• Feature and Image matching
• Camera model
• Multi-view
• Object recognition
• Object detection
• Semantic segmentation
• Motion and tracking
• Action Recognition
• Transfer learning
3
Cách thức tiến hành môn học
• Mỗi buổi học (9h00 – 12h00)
‒ 09h00 – 11h00: Trình bày lý thuyết, nội dung chủ đề
‒ 11h00 – 12h00: Thực hành (lecturer + TAs)
• Bài tập về nhà:
‒ Sau mỗi buổi học lý thuyết sẽ có bài tập về nhà
‒ Nộp qua hệ thống bkict
• Đánh giá giữa kỳ và cuối kỳ (đề code + trắc nghiệm)
‒ Thi và nộp bài qua hệ thống bkict
• Project/ Bài tập lớn:
‒ Chia thành từng nhóm 3-6 bạn/nhóm
‒ Lựa chọn một chủ đề CV để giải quyết
‒ Chủ đề dựa vào file gợi ý hoặc tự chọn
‒ Có 1 buổi trình bày giữa kỳ và 1 buổi bảo vệ cuối kỳ
‒ Nộp sản phẩm
4
Nội dung bài 1
• Giới thiệu chung
‒ Khái niệm
‒ Các cấp độ xử lý (Low level vision, Middle level
vision, High level vision)
‒ Lĩnh vực liên quan
‒ Ứng dụng
• Quá trình hình thành và thu nhận ảnh
• Không gian màu
• Thực hành
5
Thị giác máy tính?
Human vision
Image or video Sensing (device) Interpreting Interpretations
Computer vision
From CS131 course “computer vision”,
Prof. Fei-Fei Li, Stanford 'Vision'Lab
6
Mục đích của thị giác máy tính
• Cầu nối giữa giá trị của các điểm ảnh (pixel) và "ngữ
nghĩa" của bức ảnh
Source: S. Narasimhan
Chúng ta thấy Máy tính thấy
7
Loại thông tin có thể trích xuất từ
ảnh?
• Thông tin 3D (ảnh coi như thiết bị đo lường)
• Thông tin ngữ nghĩa (ảnh: nguồn chứa ngữ nghĩa)
8
“Thị giác” coi như thiết bị đo lường
Structure from motion Reconstruction from
Internet photo collections
9
“Thị giác” là nguồn thông tin ngữ nghĩa
amusement park
sky Objects
Activities
Scenes
The Wicked Cedar Point Locations
Twister Text / writing
Faces
ride Ferris Gestures
wheel Motions
ride Emotions…
12 E
Lake Erie water
ride
Slide credit: Kristen Grauman
tree
tree
people waiting in line
people sitting on ride
umbrellas
tree maxair
carousel
deck
bench tree pedestrians
10
Thị giác máy tính?
• Là lĩnh vực khoa học liên ngành cho phép máy tính có
thể hiểu được nội dung bức ảnh/video ở mức cao
Cảnh gì đây?
Có xe trong ảnh? Ở đâu?
Khoảng cách đến căn nhà?
…
11
Các mức độ xử lý
Levels of vision
• Mức thấp (Low-level Vision): tạo ảnh, thu nhận và xử lý
ảnh
‒ Tạo ảnh: quá trình tạo ra ảnh/video
‒ Thu nhận ảnh:
• Ảnh số được thu nhận bởi một số các bộ cảm biến (sensors).
• Tùy thuộc loại cảm biến, ảnh thu được có thể là ảnh 2D, 3D hoặc
chuỗi ảnh.
‒ Xử lý ảnh tập trung vào việc xử lý dữ liệu ảnh 2D như tăng cường
độ cương phản, lọc nhiễu, biến đổi ảnh, …
• Được xem như giai đoạn tiền xử lý cần thiết trên dữ liệu đầu vào cho
các ứng dụng thị giác máy tính
• Làm việc với ảnh như là 1 ma trận
• Đầu vào: ảnh Đầu ra: ảnh
12
Các mức độ xử lý
Levels of vision
13
Các mức độ xử lý
Levels of vision
14
Xử lý ảnh vs. Thị giác máy tính
Mức giữa
(feature
extraction)
Xử lý ảnh
Mức thấp (pre-
processing)
15
Một số vấn đề trong xử lý ảnh
• Thu nhận ảnh
• Nắn chỉnh biến dạng
• Khử nhiễu
‒ Nhiễu hệ thống: có quy luật (dùng các phép biến đổi)
‒ Nhiễu ngẫu nhiên (dùng bộ lọc)
• Chỉnh mức xám
• Nén ảnh
16
Lĩnh vực liên quan
Thị giác máy tính trong nhiều lĩnh vực giao thoa với nhau
17
Lĩnh vực liên quan
• Học máy: “The field of study that gives computers the ability to
learn without being explicitly programmed.” – Arthur Samuel
‒ Liên quan mật thiết, cùng chia sẻ chủ đề về nhận dạng mẫu và phương
pháp học
‒ Computer vision - Deep learning: Artificial Neural Networks with many
layers (CNN: Convolutional Neural Network )
18
Miền ứng dụng
Ứng dụng robot
‒ Xác định vị trị tự động
‒ Dẫn đường
‒ Tránh chướng ngại vật
‒ Lắp ráp (như bắt vít), hàn, sơn
‒ Thao tác điều khiển
‒ Tương tác người máy (Human Robot Interaction-HRI):
Robot thông minh có thể tương tác và phục vụ con
người
19
Miền ứng dụng
Ứng dụng bảo mật
‒ Sinh trắc: mống mắt, vân tay, khuôn mặt
‒ Camera giám sát phát hiện hành vi bất
thường
‒…
Bộ quét vân tay
Gợi ý Facebook
Phát hiện khuôn mặt trong ảnh
21
Miền ứng dụng
Ứng dụng ảnh y tế
‒ Phân loại và phát hiện
‒ Ngữ nghĩa 2D/3D
‒ Tái tạo bộ phận 3D từ ảnh MRI (chụp cắt lớp) hoặc siêu âm
‒ Hỗ trợ thị giác cho robot phẫu thuật
‒…
23
Một số ví dụ
Nhận dạng ký tự
Optical character recognition (OCR)
Đọc biển xe
Nhận dạng kí tự,(AT&T labs) http://en.wikipedia.org/wiki/Automatic_number_pl
ate_recognition
Source: from S. Seitz
24
Một số ví dụ
• Xe tự hành
25
Nội dung
• Giới thiệu chung
‒ Khái niệm
‒ Các cấp độ xử lý (Low level vision, Middle level
vision, High level vision)
‒ Lĩnh vực liên quan
‒ Ứng dụng
• Quá trình hình thành và thu nhận ảnh
• Không gian màu
• Thực hành
26
Thị giác người
Slide by Steve27
Seitz
2 loại tế bào tiếp nhận ánh sáng
Cones
- tế bào hình nón
- ít nhạy cảm
- hoạt động trong ánh sáng mạnh
- cảm thụ màu sắc
Rods
- tế bào hình que
- độ nhạy cao cone
- hoạt động trong ánh sáng yếu
- rất ít nhạy cảm với màu sắc
rod
James Hays
29
Sinh lý học của cảm nhận màu sắc
Three kinds of cones:
440 530 560 nm.
RELATIVE ABSORBANCE (%)
100
S M L
50
WAVELENGTH (nm.)
Ví dụ phân bố “cone” trên võng mạc
(1 độ góc nhìn)
Cones : có 3 loại
- S: nhạy cảm với ánh sáng có bước sóng thấp (~440nm)
- M: nhạy cảm với ánh sáng có bước sóng trung bình (~530 nm)
- L: nhạy cảm với ánh sáng có bước sóng cao (~560 nm)
© Stephen E. Palmer, 2002
© Stephen E. Palmer,30
2002
Quá trình hình thành ảnh
• Có sự tương đồng giữa mắt người và camera
31
Mô hình pin-hole camera
‒ Camera without lenses
‒ Một hộp kín, một mặt có khoét
1 lỗ nhỏ ở giữa
‒ Độ mở của lỗ thủng (aperture)
quyết định độ mờ (blur) của
ảnh
32
Ảnh hưởng của độ mở (aperture size)
33
Camera thực tế
“circle of
confusion”
34
Ghép “thin” lens
Các hệ thống quang học của camera giả định các lens
là mỏng (thin lens); không có độ dày
Focal
point
Bằng việc add thêm nhiều thin lens, khoảng cách từ lens
đến film là được xác định là “in focus” đối với một scene
khi đó nằm trên 1 mặt phẳng.
35
Độ sâu vùng quan sát (Depth of field - DOF)
Aperture Film
f / 5.6
f / 32
• Aperture size dẫn đến vùng “in focus” thay đổi
‒ Aperture size tỉ lệ nghịch với khoảng hội tụ (DOF)
Flower images from Wikipedia http://en.wikipedia.org/wiki/Depth_of_field
36
Thu nhận ảnh
38
Camera số: thu nhận và số hóa
40
Cảm biến hình ảnh: ví dụ
41
Cảnh thật -> Ảnh số
42
Quá trình số hóa: lấy mẫu và lượng tử hóa
43
Quá trình số hóa: lấy mẫu và lượng tử hóa
2D
44
Ảnh số
Ảnh bên trái là ảnh liên tục thu nhận bởi sensor, bên phải là sau khi số hóa
45
Độ phân giải [không gian] (sampling)
46
[Độ phân giải] mức xám (Quantization)
47
Ảnh số
• Ảnh I Nx M: ~ ma trận N x M x
‒ Chỉ số (0,0): góc trên trái
‒ I(x,y): giá trị điểm ảnh tại (x,y)
y
48
Một số loại ảnh phổ biến
‒ Ảnh nhị phân:
- I(x,y) {0 , 1}
- 1 pixel: 1 bit
‒ Ảnh màu:
- IR(x,y), IG(x,y) IB(x,y) [0..255]
- 1 pixel: 24 bits (3 bytes )
49
Ảnh màu trong không gia màu RGB
50
Nội dung
• Giới thiệu chung
‒ Khái niệm
‒ Các cấp độ xử lý (Low level vision, Middle level
vision, High level vision)
‒ Lĩnh vực liên quan
‒ Ứng dụng
• Quá trình hình thành và thu nhận ảnh
• Không gian màu
• Thực hành
51
Màu sắc trong ảnh
• Màu nhận được do đáp ứng của bề mặt với chùm
sáng chiếu tới
52
Không gian màu
• Định nghĩa:
‒ Là không gian gồm các thành phần màu (primary color) được
kết hợp để biểu diễn màu sắc
• Các không gian màu thường sử dụng:
‒ RGB, HSV, CMY (Cyan, Megenta, Yellow), Lab, Luv…
• Tại sao có nhiều hơn một không gian màu (?)
‒ Do đặc thù của ứng dụng (in ấn màu, hiển thị (monitor) màu)
‒ Một số không gian màu độc lập hoặc phụ thuộc thiết bị
‒ Một số không gian màu tuyến tính, một số khác không tuyến
tính với cảm nhận của mắt người
‒ V.v…..
53
Không gian màu
Mµu s¾c
Blue RGB
Magenta Black (0, 0, 0)
Red (255, 0, 0)
white Green (0, 255, 0)
Cyan Yellow (255, 255, 0)
Blue (0, 0, 255)
Red Magenta (255, 0, 255)
Cyan (0, 255, 255)
White (255, 255, 255)
54
Không gian màu RGB và CMY
• RGB (Red – Green – Blue):
‒ phổ biến, được dùng trong các thiết bị hiển thị
‒ hệ thống phối màu cộng : chồng 3 kênh R, G, B
tạo nên một màu
• CMY (Cyan-Magenta-Yellow):
‒ Thường dùng trong in ấn, photo
‒ Hệ thống không gian màu trừ: ánh sáng đi qua các
bộ lọc C,M,Y để tạo màu
• Đặc điểm:
‒ Không độc lập với thiết bị
‒ Không gian màu RGB thường không tuyến tính
với việc cảm nhận màu của mắt người
55
HSV (Hue – Saturation- Value)
• Hue-Saturation-Value / Lightness
‒ Sắp xếp lại màu dễ hình dung hơn
‒ Phù hợp cảm nhận màu của thị giác người
‒ Hay dùng cho phân vùng/nhận dạng
• Giá trị tại 1 điểm ảnh:
‒ Màu sắc (H + S) (chroma):
• H: sắc tố, tông màu
• S: độ bão hòa, sắc độ
‒ Cường độ sáng (V)
• RGB không có sự phân tách này
56
HSV
• Hue: 0 360
• Saturation: 0 1
• Value: 0 255
57
HSV
• Lưu ý:
‒ màu của đối tượng có thể biểu diễn bằng 1 khoảng trên Hue
• Hue < 60° không có nghĩa!
• Định nghĩa khoảng : 40° < Hue < 80°
‒ Màu object độc lập với gái Value, V: nhạy cảm với điều kiện
chiếu sáng
58
Ví dụ minh họa
59
Không gian màu CIE Luv/Lab
• Lab (còn gọi L*a*b*) và Luv được nghiên cứu dựa trên
thị giác người
‒ Độc lập thiết bị
‒ Tuyến tính với cảm nhận màu của mắt người
• Thành phần:
‒ L : độ sáng, 0% (black) 100% (white)
‒ a*: trục biểu diễn màu green (negative value, -127) đến
màu red (positive value, +127)
‒ b*: trục biểu diễn từ blue (negative value, -127) đến
yellow (positive value,+127)
60
Lab
61
Ứng dụng không gian màu
• RGB không phân tách Chrominance và intensity (luminance)
62
Không gian màu vs thay đổi điều kiện chiếu sáng
• Thu nhận 10 ảnh khối rubic dưới các điều kiện sáng khác
nhau
• Vẽ các hình vẽ mật độ màu: kiểm tra phân bố màu trên các
không gian màu khác nhau. Các hình vẽ mật độ sẽ cho thấy
sự thay đổi giá trị phụ thuộc không gian màu
Source: Vikas Gupta, Learn OpenCV
63
Không gian màu vs thay đổi điều kiện chiếu sáng
Fig.: Density Plot showing the variation of values in color channels for
2 similar bright images of yellow color
Source: Vikas Gupta, Learn OpenCV
65
Không gian màu vs thay đổi điều kiện chiếu sáng
‒ HSV: giá trị tập trung (compact) trên kênh H. Chỉ kênh H
chứa trị tuyệt đối về màu 1 lựa chọn k tồi
68
Histogram của ảnh
• Histogram (lược đồ xám / màu)
‒ Lược đồ trên ảnh xám có giá trị nằm trong dải [0, L-1] là
một hàm rời rạc:
• là mức xám thứ k
• : số điểm ảnh có mức xám thứ k
‒ Là biểu diễn phân bố mức xám/màu sắc của các điểm
ảnh trên ảnh
69
Image histogram
• Histogram thường được chuẩn hóa
‒ Chia cho tổng số điểm ảnh trong ảnh (n) :
70
Thank you for
your attention!
71