โ Check Box
- Docker ์๋ก ํ๊ฒ ํ์ ๊ตฌ๋ํด๋ณด๊ธฐ
- Matlab calibration paramere ์ OpenCV parameter ๋น๊ตํ๊ณ ๊ฐ parameter ๋ฅผ ์ฌ์ฉํ ๊ฒฐ๊ณผ ๋น๊ตํ๊ธฐ
- PCD downsampling ๋ฐ ํฌ์ธํธ ํฌ๊ธฐ ์กฐ์ ๋ฑ ๋ฐฉ๋ฒ ์กฐ์ฌํ๊ณ ์ ์ฉํด๋ณด๊ธฐ
- ๋ฐ์ดํฐ ๋ช ๊ฐ ๋ ์ฐ์ด์ ๊ฒฐ๊ณผ ํ์ธํ๊ธฐ
- ์ด๋ฐ ์์ฝ
- task ํด๋ํฐ ์๊ธ ๋ณ๊ฒฝ โณ 2024-07-09
- task ์์ธ ์๋์ด์ฒด โ 2024-07-08
- task ์ฅํ๊ธ ์์๋ณด๊ธฐ
- task ์ด๋ฐ ์์ฝ #03 ๐ 2024-07-06 โ 2024-07-08
- [ ]
๐ง Idea Note
๐ฅ Related Works
Docker ์ค์น
-
Docker
- Image:
ubuntu:20.04 - Run
docker run -it --privileged --gpus 'all,"capabilities=compute,utility,graphics"' -e DISPLAY=unix$DISPLAY -e QT_X11_NO_MITSHM=1 -v /tmp/.X11-unix:/tmp/.X11-unix:rw -v /etc/localtime:/etc/localtime:ro -e TZ=Asia/Seoul -v /dev:/dev -v ~/workspace/dataset:/workspace/dataset -w /workspace --restart always --name stereo2pcd python:3.10.14-bullseye
- Image:
-
VSCode ๊ฐ์ํ๊ฒฝ ์ฝ๋ ๋๋ฒ๊น ์ํ
- ์คํํ๊ณ ์ ํ๋ ์ฝ๋๊ฐ ์๋ ํ๋ก์ ํธ ํด๋์
launch.json๊ณผsettings.jsonํ์ผ ์์ฑ
- ์คํํ๊ณ ์ ํ๋ ์ฝ๋๊ฐ ์๋ ํ๋ก์ ํธ ํด๋์
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "debugpy",
"request": "launch",
"args": ["--config","test.yaml",
"--input","check.txt",
], // argument ์ง์ด๋ฃ์ด์ ์คํํ ๊ฒฝ์ฐ
"console": "integratedTerminal"
}
]
}{
"python.testing.unittestArgs": [
"-v",
"-s",
".",
"-p",
"test_*.py"
],
"python.testing.pytestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.unittestEnabled": true,
"python.pythonPath": "/workspace/project/calibration/.venv/bin/python3.10"
}- Open3D ๋ฅผ ์คํํ ๋ ํด๋น ๋ฌธ์ ๋ฐ์ ์
[Open3D WARNING] GLFW Error: GLX: Failed to create context: BadMatch (invalid parameter attributes)
[Open3D WARNING] Failed to create window
[Open3D WARNING] [DrawGeometries] Failed creating OpenGL window.- Docker container ์คํ ์ ๋ค์ ์ต์ ์ถ๊ฐ
--gpus 'all,"capabilities=compute,utility,graphics"'
-v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAYCalibration parameter ๋น๊ต
Matlab vs Opencv
- K1
| 2658.03 | 0 | 2776.31 |
|---|---|---|
| 0 | 2650.74 | 2443.98 |
| 0 | 0 | 1 |
| 2652.5 | 0 | 2774.2 |
| 0 | 2643.5 | 2444.6 |
| 0 | 0 | 1 |
- K2
| 2649.23 | 0 | 2796.48 |
|---|---|---|
| 0 | 2645.80 | 2435.20 |
| 0 | 0 | 1 |
| 2648.8 | 0 | 2801.8 |
| 0 | 2640.6 | 2410.9 |
| 0 | 0 | 1 |
- dist1
| 0.00201 | -0.01563 | 0 | 0 | 0 |
|---|---|---|---|---|
| 0.0412 | -0.1592 | 0.0004 | -0.0018 | 0.1583 |
- dist2
| 0.00920 | -0.03124 | 0 | 0 | 0 |
|---|---|---|---|---|
| 0.0408 | -0.1907 | -0.0041 | 0.0015 | 0.2106 |
- Rotation
| 0.9996 | -0.0261 | -0.0053 |
|---|---|---|
| 0.0260 | 0.9995 | -0.0199 |
| 0.0058 | 0.0198 | 0.9998 |
| 0.9996 | -0.0252 | -0.0080 |
| 0.0251 | 0.9996 | -0.0104 |
| 0.0082 | 0.0102 | 0.9999 |
- Translation
| -243.77 | -0.0851 | -2.0257 |
|---|---|---|
| -6.0966 | 0.0037 | -0.0045 |
- Q
| 1 | 0 | 0 | -2776.3 |
|---|---|---|---|
| 0 | 1 | 0 | -2444.0 |
| 0 | 0 | 0 | 2658.0 |
| 0 | 0 | -0.0041 | -0.0830 |
| 1 | 0 | 0 | -2770.0 |
| 0 | 1 | 0 | -2435.2 |
| 0 | 0 | 0 | 2642.1 |
| 0 | 0 | 0.1640 | 0 |
- test1: Matlab ์์ ์ถ์ถํ ํ๋ผ๋ฏธํฐ๋ก Q ๊ณ์ฐ (cv2.stereoRectify) ํ ์ํ
- test2: Matlab ์์ ์ถ์ถํ ํ๋ผ๋ฏธํฐ๋ก Q ๊ณ์ฐ (์๋) ํ ์ํ
- Q ๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์์ 243e+03 ์ธ๊ฐ? 243 ์ธ๊ฐ?
- test2-1 : 243, test2-2: 243e+03
ํ์ฌ OpenCV Stereo calibration tool ์ ์ฌ์ฉํ๋ฉด Dist ์ Translation ์ด ์ด์ํ๊ฒ ๋์ค๊ธฐ ๋๋ฌธ์ ํด๋น ๋ฌธ์ ๋ ์ถํ ํด๊ฒฐํ๊ธฐ๋ก ํ๊ณ , ์ผ๋จ Matlab ์์ ๊ณ์ฐํ Parameter ๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ ์งํ
-
test3: ๋ด ์ธ๋ถ ํ๋ผ๋ฏธํฐ ๋ชจ๋ OpenCV ์์ ๊ณ์ฐํ ๊ฒ์ผ๋ก ์ํ
- test3-2: Q ๋ ์๋์ผ๋ก ๊ณ์ฐ
- test3-3: Translation ์ ์ธ ๋๋จธ์ง ํ๋ผ๋ฏธํฐ OpenCV (Q ์๋ ๊ณ์ฐ)
- test3-4: Translation ์ ์ธ ๋๋จธ์ง ํ๋ผ๋ฏธํฐ OpenCV (Q ์๋ ๊ณ์ฐ)
-
Undistorted images



-
Rectified images



-
Disparity map



Result
- test1
- ๋ฐ๋ฅ๊ณผ ์ฌ๋ฌผ ๋ฑ์ ๊ฑฐ๋ฆฌ๊ฐ ์ด๋์ ๋ ๊ฒฝํฅ์ฑ์ ๋ณด์ด๋ ์ข์ฐ ๋ฐ์ ๋์ด ์์
- test2-1
- ์ข์ฐ ๋ฐฉํฅ์ ๋ง๊ฒ ๋์์ผ๋ test1 ์ ๋นํด ๊ฒฝํฅ์ฑ์ด ์ ๊ฒ ๋ณด์
-
test2-2
- test2-1 ๊ณผ ํฐ ์ฐจ์ด ์์
-
test3
- Q ๋ฅผ ๊ณ์ฐํ๋ ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ์๋ ๊ฒ์ผ๋ก ๋ณด์
-
test3-2
- ์ฒ์ฅ๊ณผ ๋ฐ๋ฅ์์ ๊ฑฐ์ ํ์คํ๊ฒ ํฌ์ธํธ๊ฐ ์์ฑ๋๋ฉฐ, ๋จ ๋ฌผ์ฒด์ ๊ฒฝ์ฐ๋ ํฌ์ธํธ๊ฐ ์ ๋๋ก ์์ฑ๋์ง ์์
- test2 ์ ๋น๊ตํ๋ฉด dist ์ translation ๋ง ๋ฐ๊ผ๋ ๋ฐ ํฐ ๋ณํ ์์
- ์ฆ, dist ๋ opencv ์์ ๊ณ์ฐ ํ ๊ฒ์ด ์ ํํ๋ฏ ๋ณด์ด๊ณ , translation ์ ๊ฒฝ์ฐ ๋ค์ ํด๋ด์ผ ํ ๊ฒ ๊ฐ์
- Q ๋ ์์ธ์ง ์ ๋ชจ๋ฅด๊ฒ ์
- *์๋ง OpenCV ์์ ๊ณ์ฐํ Translation ์ด ์ฌํ๊ฒ ์ด์ํ ๊ฐ์ด ๋์์ ๊ทธ๋ฐ ๊ฒ์ผ๋ก ๋ณด์! *
-
test3-3
- *์๋ง OpenCV ์์ ๊ณ์ฐํ Translation ์ด ์ฌํ๊ฒ ์ด์ํ ๊ฐ์ด ๋์์ ๊ทธ๋ฐ ๊ฒ์ผ๋ก ๋ณด์! * โ ์ด๊ฑฐ ์๋๋ฏ ํจ
- Q ๋ฅผ ์ถ๋ ฅํด๋ณธ ๊ฒฐ๊ณผ ๊ฐ์ ๊ฑฐ์ ๋์ผํ๋ Baseline ๋ถ๋ถ์ ๋ถํธ๊ฐ ๋ฐ๋๋ก ๋์ด์์์.
- Matlab ๊ณผ OpenCV ์ Translation ๋ฐฉํฅ์ด ๋ฐ๋๋ก ๋์ด์๋ ๋ฏํจ
- Matlab ์ translation ๊ฐ ๋ถํธ๋ฅผ ๋ฐ๊พธ๊ณ ํ ๊ฒฐ๊ณผ Q ๋ ์ผ์ถ ์ ํํ๊ฒ ๋์์ผ๋ ํฌ์ธํธ๋ ์ฌ์ ํ ์ด์ํ๊ฒ ๋์ด
- test3-4
- test3-3 ๊ณผ์ ์ฐจ์ด์ ์ด๋ผ๊ณ ํ๋ฉด Q ๋ฐ์ ์๋ค.
- ํ์ง๋ง Q ์ ๊ฒฝ์ฐ 3-3 ํ ์คํธ์ ์ถ๊ฐ ์คํ์์ ์ ์ ์๋ฏ์ด Translation ์ ๋ถํธ๋ฅผ ๋ณ๊ฒฝํ๋ฉด Q๊ฐ ์๋ ๊ณ์ฐ๊ณผ ๋์ผํด์ง๋๋ฐ ํฌ์ธํธ๋ ์ด์ํ๊ฒ ๋์จ๋ค
- ์ฌ๊ธฐ์ Translation ์ Rectify ์ ์ฌ์ฉ๋๊ณ Rectified image ๋ Disparity ๋งต์ ๋ง๋๋๋ฐ ์ฌ์ฉ๋๋ค.
- ์ฆ, Translation ์ ๋ถํธ๋ฅผ ๋ฐ๊พผ ํ์ Disparity map ์ ๊ณ์ฐ์ด ํ์ด์ง ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
- ์ ์๋ง, ๊ทธ๋ ๋ค๋ฉด Q ๋ฅผ ์๋๊ณ์ฐํ๋ ์์ -๋ฅผ ๋นผ๋ฉด ๋๋ ๊ฒ ์๋๊ฐ?
- ๊ทธ๋ ๊ฒ ๋๋ฉด ์๋ ๊ฐ๊ณผ ์๋ ๊ฐ ๋ชจ๋ ๋์ผํ ๋ถํธ๋ฅผ ๊ฐ๊ฒ ๋๋ค.
- ์ด๊ฒ์ผ๋ก ํด๊ฒฐ๋๋ค๋ฉด test3-3 ์ ๋ฌธ์ ๋ Translation ์ ๋ถํธ๊ฐ ๋ฐ๋๊ฐ ๋์ด Disparity map ์์ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ


- test3-5
- Q ์๋ ๊ณ์ฐ ์์ ๋ถํธ๋ฅผ ์์ ํ ๋ค ์๋ ๋ฐ ์๋์ผ๋ก ์งํ
- ๋จผ์ ์ฒซ๋ฒ์งธ ์๋์ ๊ฒฝ์ฐ ์ข์ฐ ๋ฐ์ ๋ ๊ฒ์ ํ์ธํ ์ ์์
- ์ง๊ธ Calibration ์์ฒด์ ๋ถํธ๊ฐ ์ด์ํ๊ฒ ๋๊ฒ ๊ฐ์๋ฐ Matlab ์ด๋ OpenCV ์์ Calibration ์ ํ ๋ ์์ ์ ์์น๊ฐ ์ข์ธก ์๋จ์ ์์นํ ๊ฒ์ด ์์ธ์ธ๋ฏ ํจ
- ์ฐพ์๋ณด๋ ์ฒด์ปค๋ณด๋์ ๋์ด์ ๋์ด๊ฐ ์ง์, ํ์๊ฐ ๋์ด์ผ ํ๋ค๊ณ ํ๋๋ฐ ์คํ์๋ 7,7 ํฌ๊ธฐ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์๋ ์ถ์ธกํด๋ด
- ์๋์ ๊ฒฝ์ฐ ๋ ํฌ์ธํธ๊ฐ ๋ช๊ฐ ์ฐํ์ง ์์
- ์๋๊ณผ ์ฐจ์ด๋ผ๊ณ ๋ Q 4ํ 4์ด ๊ฐ์ด 0.08 ์ ๋ ์ฐจ์ด๊ฐ ๋๋ ๊ฒ์ธ๋ฐ ์ ์ด๋ ๊ฒ ํฐ ์ฐจ์ด๊ฐ ๋๋์ง ์ ์ ์์
Checkerboard ์์
- OpenCV
[[2.64854552e+03 0.00000000e+00 2.76895348e+03]
[0.00000000e+00 2.64306178e+03 2.45610393e+03]
[0.00000000e+00 0.00000000e+00 1.00000000e+00]]
[[2.64517191e+03 0.00000000e+00 2.81201085e+03]
[0.00000000e+00 2.63371976e+03 2.40949872e+03]
[0.00000000e+00 0.00000000e+00 1.00000000e+00]]
[[ 0.03319256 -0.14649957 0.00204108 -0.00027259 0.16413916]]
[[ 0.03773088 -0.18673464 -0.00340553 0.00486367 0.24332452]]
[[ 0.99953074 -0.02829152 -0.01174298]
[ 0.02818063 0.99955767 -0.00950361]
[ 0.01200666 0.00916823 0.99988589]]
[[-24.69688786]
[ 0.3306053 ]
[ -0.59528897]]
Q ์๋
[[ 1.00000000e+00 0.00000000e+00 0.00000000e+00 -2.72265218e+03]
[ 0.00000000e+00 1.00000000e+00 0.00000000e+00 -2.43481873e+03]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.63839077e+03]
[ 0.00000000e+00 0.00000000e+00 4.04755500e-02 -0.00000000e+00]]
Q ์๋
