CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.5 Mô hình tính chiều sâu vật thể và khoảng cách giữa các đối tượng
Xét bài toán tính khoảng cách giữa hai điểm trong không gian với dữ liệu đầu vào là ảnh thu được từ camera khi chụp hai điểm đó trong không gian. Như đã giới thiệu ở chương 1, khi ta dịch chuyển camera dịch khỏi vị trí ban đầu dọc theo một trục nhất định thì vị trí thu được trên ảnh của hai vật thể có khoảng cách khác nhau đến camera sẽ dịch chuyển một lượng khác nhau. Như vậy ta hoàn toàn có thể xây dựng được một mô hình hình học để tính toán các khoảng cách từ một điểm trong không gian đến vị trí đặt camera.
Với cùng một hệ quy chiếu, giả sử có hai điểm đã xác định được tọa độ chính xác ta hoàn toàn có thể tính khoảng cách tuyệt đối giữa hai điểm này trong hệ quy chiếu đó. Vậy việc xây dựng được mô hình tính chiều sâu của vật thể, hay nói cách khác là tính các giá trị tọa độ của điểm trong không gian với hệ quy chiếu gắn với gốc tọa độ là camera thì ta sẽ xác định được khoảng cách giữa các điểm trong không gian.
Mô hình chụp ảnh vật được mô tả lại dựa trên Hình 2.22, ánh sáng từ vật thể đi qua lỗ kim (pinhole) của camera và được thu bởi cảm biến hình ảnh. Ảnh thu được trên cảm biến ảnh chính là ảnh thật chụp vật, ta xoay ngược ảnh vật và lấy đối xứng qua lỗ kim của camera ta có ảnh ảo với kích thước đúng bằng ảnh thật. Khoảng cách
41
từ lỗ kim đến cảm biến ảnh là độ dài tiêu cự của camera (focal length). Từ đây trở về sau để đơn giản hóa mô hình biểu diễn ảnh chụp vật thể thì ảnh ảo sẽ được sử dụng thay cho ảnh thật, mọi tính toán liên quan đến kích thước của ảnh ảo và ảnh thật là tương đương.
Hình 2.22 Mô hình chụp ảnh vật và ảnh ảo tượng trưng
Xét mô hình với điểm 𝑃(𝑋,𝑌,𝑍) ngoài không gian, hai vị trí đặt camera tại 𝑂1 và 𝑂2 như Hình 2.23:
Hình 2.23 Vị trí đặt camera và ảnh vật thu được trong hệ tọa độ OXYZ [53]
42
Các ký hiệu sử dụng trong Hình 2.23 trên được thống kê trong Bảng 2.1.
Bảng 2.1 Các ký hiệu trong mô hình tính chiều sâu vật thể
Ký hiệu Ý nghĩa
𝑂1𝑋1𝑌1𝑍1 Hệ tọa độ của vị trí đặt camera thứ nhất 𝑂2𝑋2𝑌2𝑍2 Hệ tọa độ của vị trí đặt camera thứ hai
𝑜1𝑥1𝑦1 Hệ tọa độ trên ảnh thứ nhất 𝑜2𝑥2𝑦2 Hệ tọa độ trên ảnh thứ hai
𝑃(𝑋,𝑌,𝑍) Một điểm trong không gian thực tế
𝑃′1 Hình chiếu của P trên mặt phẳng 𝑂1𝑋1𝑍1 𝑃′2 Hình chiếu của P trên mặt phẳng 𝑂2𝑋2𝑍2 𝑃1 Điểm ảnh của P thu được trên ảnh thứ nhất 𝑃2 Điểm ảnh của P thu được trên ảnh thứ hai
f Độ dài tiêu cự của camera
T Khoảng cách giữa hai lần đặt camera
𝑑1 Khoảng cách giữa điểm P và camera tại vị trí thứ nhất 𝑑2 Khoảng cách giữa điểm P và camera tại vị trí thứ hai 𝑍1
̅̅̅ Khoảng cách từ điểm P đến mặt phẳng 𝑂1𝑋1𝑌1 𝑍̅̅̅2 Khoảng cách từ điểm P đến mặt phẳng 𝑂2𝑋2𝑌2 𝑋̅̅̅1 Khoảng cách từ điểm P đến mặt phẳng 𝑂1𝑌1𝑍1 𝑋2
̅̅̅ Khoảng cách từ điểm P đến mặt phẳng 𝑂2𝑌2𝑍2 𝑌̅1 Khoảng cách từ điểm P đến mặt phẳng 𝑂1𝑋1𝑍1 𝑌̅2 Khoảng cách từ điểm P đến mặt phẳng 𝑂2𝑋2𝑍2
𝛾 Góc lệch giữa trục 𝑂1𝑋1 (hoặc 𝑂2𝑋2) và hướng di chuyển của camera
Dễ thấy với cách thiết lập như hình trên thì mặt phẳng 𝑂1𝑋1𝑍1 và mặt phẳng 𝑂2𝑋2𝑍2 trùng nhau, do đó ta mới có điểm 𝑃′1 ≡ 𝑃′2 và 𝑌̅ ≡ 𝑌1 ̅̅̅̅ ≡ 𝑌̅ như ở Hình 2 2.23. Để xác định được các giá trị 𝑍̅̅̅1, 𝑍̅̅̅2, 𝑋̅̅̅1, 𝑋̅̅̅2 ta sẽ sử dụng mặt phẳng 𝑂1𝑋1𝑍1 và mặt phẳng 𝑂2𝑋2𝑍2, do đó khi chiếu Hình 2.23 lên mặt phẳng 𝑂1𝑋1𝑍1 và mặt phẳng 𝑂2𝑋2𝑍2 ta có mô hình như Hình 2.24:
43
Hình 2.24 Vị trí đặt camera và ảnh vật thu được trong hệ tọa độ 𝑂1𝑋1𝑌1𝑍1 chiếu lên 𝑂1𝑋1𝑍1. [53]
Hình chiếu của điểm P trên trục 𝑂1𝑍1, 𝑂2𝑍2 tương ứng là 𝐻1 và 𝐻2. Gọi 𝑀1, 𝑀2là giao điểm của trục 𝑂1𝑍1, 𝑂2𝑍2 và đường thẳng song song với hướng di chuyển camera đi qua điểm P. 𝑁1,𝑁2là hình chiếu của𝑃1 và 𝑃2trên trục 𝑂1𝑍1, 𝑂2𝑍2.
Xét các cặp tam giác đồng dạng 𝑂1𝑃𝐻1 và 𝑂1𝑃1𝑁1, tam giác 𝑂2𝑃𝐻2 và 𝑂2𝑃2𝑁2 ta có:
𝑥̅1 𝑓 =𝑋̅̅̅1
𝑍1
̅̅̅ → 𝑋̅̅̅ =1 𝑥̅ ⋅ 𝑍1 ̅̅̅1
𝑓 (2.1)
𝑥2
̅̅̅
𝑓 =𝑋̅̅̅2 𝑍2
̅̅̅→ 𝑋̅̅̅ =2 𝑥̅̅̅ ⋅ 𝑍2 ̅̅̅2 𝑓
(2.2)
44 Nhìn vào Hình 2.24 ta có: { 𝑂1𝑀1 = 𝑂2𝑀2
𝐻1𝐻2 = 𝑋̅̅̅ − 𝑋1 ̅̅̅2 Do đó:
𝑍1
̅̅̅ − 𝑋̅̅̅tan 𝛾 = 𝑍1 ̅̅̅ − 𝑋2 ̅̅̅ tan 𝛾 2 (2.3) 𝑋1
̅̅̅ − 𝑋̅̅̅ = 𝑇cos 𝛾 2 (2.4) Thay (2.1) vào (2.3) ta có:
𝑍1
̅̅̅ −𝑥̅ ⋅ 𝑍1 ̅̅̅1
𝑓 . tan 𝛾 = 𝑍̅̅̅ −2 𝑥̅̅̅ ⋅ 𝑍2 ̅̅̅2
𝑓 . tan 𝛾 𝑍1
̅̅̅. (1 − 𝑥̅1
𝑓 . 𝑡𝑎𝑛 𝛾) = 𝑍̅̅̅. (1 − 2 𝑥̅̅̅2
𝑓 . 𝑡𝑎𝑛 𝛾) 𝑍1
̅̅̅ = 𝑍̅̅̅. (2
1 − 𝑥̅̅̅2
𝑓 . 𝑡𝑎𝑛 𝛾 1 − 𝑥̅1
𝑓 . 𝑡𝑎𝑛 𝛾
) = 𝑍̅̅̅ ⋅2 𝑓 − 𝑥̅̅̅ ⋅ 𝑡𝑎𝑛 𝛾2
𝑓 − 𝑥̅ ⋅ 𝑡𝑎𝑛 𝛾1 (2.5) Tương tự ta có:
𝑍2
̅̅̅ = 𝑍̅̅̅ ⋅1 𝑓 − 𝑥̅ ⋅ 𝑡𝑎𝑛 𝛾1 𝑓 − 𝑥̅̅̅ ⋅ 𝑡𝑎𝑛 𝛾2
(2.6) Thay (2.1) vào (2.4) ta có:
𝑥̅ ⋅ 𝑍1 ̅̅̅ − 𝑥1 ̅̅̅ ⋅ 𝑍2 ̅̅̅ = 𝑓 ⋅ 𝑇 ⋅ cos 𝛾 2 (2.7) Thay (2.5) vào (2.7) ta có:
𝑥̅ ⋅ 𝑍1 ̅̅̅ ⋅2 𝑓 − 𝑥̅̅̅ ⋅ 𝑡𝑎𝑛 𝛾2
𝑓 − 𝑥̅ ⋅ 𝑡𝑎𝑛 𝛾1 − 𝑥̅̅̅ ⋅ 𝑍2 ̅̅̅ = 𝑓 ⋅ 𝑇 ⋅ cos 𝛾 2 𝑍2
̅̅̅. (𝑥̅ ⋅1 𝑓 − 𝑥̅̅̅ ⋅ 𝑡𝑎𝑛 𝛾2
𝑓 − 𝑥̅ ⋅ 𝑡𝑎𝑛 𝛾1 − 𝑥̅̅̅) = 𝑓 ⋅ 𝑇 ⋅ 𝑐𝑜𝑠 𝛾 2 𝑍2
̅̅̅. (𝑥̅ . 𝑓 − 𝑥1 ̅̅̅. 𝑓2
𝑓 − 𝑥̅ ⋅ 𝑡𝑎𝑛 𝛾1 ) = 𝑓 ⋅ 𝑇 ⋅ 𝑐𝑜𝑠 𝛾 𝑍2
̅̅̅ = 𝑇cos 𝛾𝑓 − 𝑥̅ tan 𝛾1 𝑥̅ − 𝑥1 ̅̅̅2
(2.8) Tương tự khi thay (2.6) vào (2.7) ta có:
𝑍1
̅̅̅ = 𝑇cos 𝛾𝑓 − 𝑥̅̅̅. tan 𝛾2
𝑥̅ − 𝑥1 ̅̅̅2 (2.9)
Phần trên đã trình bày mô hình với hình chiếu lên mặt phẳng 𝑂1𝑋1𝑍1 và mặt phẳng 𝑂2𝑋2𝑍2, bây giờ ta quay lại mô hình trong không gian 𝑂1𝑋1𝑌1𝑍1, 𝑂2𝑋2𝑌2𝑍2 để tính thành phần còn thiếu là khoảng cách từ điểm P đến mặt phẳng 𝑂1𝑋1𝑍1, 𝑂2𝑋2𝑍2 và khoảng cách thực tế từ điểm P đến camera tại hai vị trí, minh họa thể hiện trong Hình 2.25.
45
Hình 2.25 Mô hình thu ảnh của vật trong không gian OXYZ. [53]
Gọi M, N là hình chiếu của 𝑃′1 lên các trục 𝑜1𝑦1 và 𝑜1𝑥1, gọi H, Q, K lần lượt là hình chiếu của P lên các mặt phẳng 𝑂1𝑌1𝑍1, trục 𝑂1𝑍1 và mặt phẳng 𝑂1𝑋1𝑍1. Xét các cặp tam giác đồng dạng 𝑂1𝑜1𝑀 và 𝑂1𝑄𝐻, 𝑂1𝑜1𝑁 và 𝑂1𝑄𝐾 ta có:
{ 𝑌̅1
𝑍1
̅̅̅ =𝑦̅̅̅1 𝑓 𝑋1
̅̅̅
𝑍1
̅̅̅ =𝑥̅1 𝑓 Suy ra:
{
𝑌̅ = 𝑍1 ̅̅̅1𝑦̅̅̅1 𝑓 𝑋1
̅̅̅ = 𝑍̅̅̅1𝑥̅1 𝑓
(2.10)
Khoảng cách từ camera tại vị trí thứ nhất đến điểm P:
𝑑1 = √𝑋̅̅̅12+ 𝑌̅12+ 𝑍̅̅̅12 (2.11)
Dựng hình hoàn toàn tương tự với Hình 2.25, ta cũng xây dựng được các công thức với ảnh chụp tại vị trí thứ hai của camera:
{
𝑌̅ = 𝑍2 ̅̅̅2𝑦̅̅̅2 𝑓 𝑋2
̅̅̅ = 𝑍̅̅̅2𝑥̅̅̅2 𝑓
(2.12)
46
𝑑2 = √𝑋̅̅̅22+ 𝑌̅22+ 𝑍̅̅̅22 (2.13) Từ (2.1) (2.2) (2.8) (2.9) (2.10) (2.11) (2.12) (2.13) ta được:
Điểm P đến camera tại vị trí thứ nhất:
{
𝑋1
̅̅̅ = 𝑥̅ ⋅ 𝑍1 ̅̅̅1 𝑓 𝑌̅ = 𝑍1 ̅̅̅1𝑦̅̅̅1
𝑓 𝑍1
̅̅̅ = Tcos 𝛾𝑓 − 𝑥̅̅̅ . tan 𝛾2 𝑥̅ − 𝑥1 ̅̅̅2 𝑑1 = √𝑋̅̅̅12+ 𝑌̅12+ 𝑍̅̅̅12
(2.14)
Điểm P đến camera tại vị trí thứ hai:
{
𝑋2
̅̅̅ = 𝑥̅̅̅ ⋅ 𝑍2 ̅̅̅2 𝑓 𝑌̅ = 𝑍2 ̅̅̅2𝑦̅̅̅2
𝑓 𝑍2
̅̅̅ = 𝑇cos 𝛾𝑓 − 𝑥̅ tan 𝛾1 𝑥̅ − 𝑥1 ̅̅̅2 𝑑2 = √𝑋̅̅̅22+ 𝑌̅22+ 𝑍̅̅̅22
(2.15)
Hình 2.26 Mô hình tính khoảng cách giữa hai điểm trong không gian
47
Mục đích cuối cùng của bài toán là phải xác định được khoảng cách giữa các vật thể trong không gian, khoảng cách từ vật đến camera chỉ là bước đầu để thực hiện được nhiệm vụ trên. Sau khi đã xác định được khoảng cách từ vật đến camera ta thực hiện bước tính khoảng cách giữa các đối tượng với mô hình thể hiện trong Hình 2.26.
Xét hai điểm ngoài không gian là 𝑃𝑎 và 𝑃𝑏 đã xác định được lần lượt các khoảng cách 𝑋̅̅̅𝑎, 𝑌̅𝑎, 𝑍̅̅̅𝑎 và 𝑋̅̅̅𝑏, 𝑌̅𝑏, 𝑍̅̅̅𝑏. Xét chiều dương của các trục tọa độ như trên hình vẽ.
Khi đó tương ứng với các khoảng cách 𝑋̅̅̅𝑎, 𝑌̅𝑎,𝑍̅̅̅𝑎 và 𝑋̅̅̅𝑏,𝑌̅𝑏,𝑍̅̅̅𝑏 ta có tọa độ các điểm 𝑃𝑎 và 𝑃𝑏 trong không gian lần lượt là 𝑃𝑎(𝑋𝑎, 𝑌𝑎, 𝑍𝑎) và 𝑃𝑏(𝑋𝑏, 𝑌𝑏, 𝑍𝑏). Do đó khoảng cách tuyệt đối giữa hai điểm được xác định dựa trên công thức:
𝑃𝑎𝑃𝑏 = √(𝑋𝑎 − 𝑋𝑏)2+ (𝑌𝑎 − 𝑌𝑏)2+ (𝑍𝑎 − 𝑍𝑏)2 (2.16) Với các giá trị 𝑋𝑎, 𝑌𝑎, 𝑍𝑎, 𝑋𝑏, 𝑌𝑏, 𝑍𝑏 có thể được xác định nhờ các công thức (2.14) và (2.15).
Kết luận chương 2 Chương 2 đã giải quyết được những vấn đề sau:
- Giới thiệu tổng quan về AI.
- Những khái niệm cơ bản về mạng nơ-ron tích chập.
- Phân biệt bài toán xác định đối tượng (Object detection) và Image Segmentation.
- Giải thích mô hình mô hình YOLACT.
- Xây dựng mô hình tính toán chiều sâu vật thể và tính khoảng cách giữa các đối tượng.
48