🤩
本物が買えないので真似たが(Stereo Depth)其之2
前回までの復習
- 微妙にヒートマップ表示できた。
- カメラの配置でもどうにもならない暗部がのこってしまった。
今回は
失敗作のオンパレード(結果のみ)
おまけ(学習モデルのログ)
# こんな感じで距離別のデータを撮影
/notebook/stereo/data$ tree
.
├── 0.5m
│ ├── camera_0_distance_0.5m_0.png
│ ├── camera_0_distance_0.5m_1.png
│ ├── camera_2_distance_0.5m_0.png
│ └── camera_2_distance_0.5m_1.png
├── 1.5m
│ ├── camera_0_distance_1.5m_0.png
│ ├── camera_0_distance_1.5m_1.png
│ ├── camera_2_distance_1.5m_0.png
│ └── camera_2_distance_1.5m_1.png
├── 1m
│ ├── camera_0_distance_1m_0.png
│ ├── camera_0_distance_1m_1.png
│ ├── camera_2_distance_1m_0.png
│ └── camera_2_distance_1m_1.png
├── 2.5m
│ ├── camera_0_distance_2.5m_0.png
│ ├── camera_0_distance_2.5m_1.png
│ ├── camera_2_distance_2.5m_0.png
│ └── camera_2_distance_2.5m_1.png
└── 2m
├── camera_0_distance_2m_0.png
├── camera_0_distance_2m_1.png
├── camera_2_distance_2m_0.png
└── camera_2_distance_2m_1.png
# 学習結果
~/notebook/stereo$ python train_torch.py
Epoch 1/10, Train Loss: 274.01750349998474, Val Loss: 7.5990283489227295
Epoch 2/10, Train Loss: 3.931648188829422, Val Loss: 2.7191025018692017
Epoch 3/10, Train Loss: 0.8331921368837356, Val Loss: 0.45910339057445526
Epoch 4/10, Train Loss: 0.38559081852436067, Val Loss: 0.4020087271928787
Epoch 5/10, Train Loss: 0.2134269282221794, Val Loss: 0.7039762735366821
Epoch 6/10, Train Loss: 0.24842741191387177, Val Loss: 0.5583236515522003
Epoch 7/10, Train Loss: 0.26502911150455477, Val Loss: 0.23995352536439896
Epoch 8/10, Train Loss: 0.20047790557146072, Val Loss: 0.3392268419265747
Epoch 9/10, Train Loss: 0.17473311424255372, Val Loss: 0.4970148801803589
Epoch 10/10, Train Loss: 0.1384527564048767, Val Loss: 0.288657084107399
現在の着地点
- こちらのパラメータの透過度をあげると普通の合成撮影
- 適度にパラメータをいじるとヒートマップ
- ただし、人間のような動体はカメラの位置ずれをリアルで拾っている(ここ修正要)
今の所OpenCVで作るのが一番安定
- ここのパラメータ変更でそれらしくもなりますし、上記のちょっと・・・な表示にもなります。
# Increase the heatmap intensity for closer objects by reducing their corresponding alpha values
alpha_mask = 1 - (depth_data / 255.0) ** 2 # Squaring to reduce transparency for closer objects more
alpha_mask = cv2.merge([alpha_mask, alpha_mask, alpha_mask])
- depth_data / 255.0 : 255.0を減らすと透過度が下がります
- ** 2 増やしてカオス画像にできます
updated advanced version in github
-ちょこっとだけ表現がマシになり、中央部の色潰れが改善しました。
今後
- ちょっと、本業(プロではないのに!)調達やら通訳、つなぎの開発?でちょっとお休み
- 大失敗に終わったモデル版で距離まで正確に表示したいです。
- new files are updated version
update
- 人だけならそれっぽくはできる模様
- カメラの像の重ね合わせがやっぱり重要ですね。
Update2 (8th Jun 2024)
- 見た目はだいぶ良くなりました。 2台のカメラを並べて位置合わせして使ってみてください。
En/Cn
English Summary
- This article is challange of stereo cam style by 2 affordable camera.
2cams movie combine(2台のカメラ画像合成)---NEW 15/Aug 24
- 前後に配置すると反対側の人が首を絞めている(って良くないですね)のような変な撮影が可能
- 人間をメインで抜き取りするところがあるので、片方のカメラだけ人間のみ映すなどで応用可能かも
左の人が右の人を背後から襲撃っぽい図
- rear cam person looks strike right side person
- Exactly, 2 person is taken each cam. That's why it is no problem.
Discussion