---
# System prepended metadata

title: 自動修正 tracking 獲得的boundingbox
tags: [study]

---

---
title: '自動修正 tracking 獲得的boundingbox'
disqus: hackmd
---

自動修正 tracking 獲得的boundingbox
===



[TOC]


## 版本資訊
文件版本：v0.0.1
進度： 尚未完成
執行環境:ubuntu 20.04 測試OK


## 一、 文件說明
### 介紹
可修正如下狀況
(1) 當使用者框的 box 大小不太正確的情況
![](https://i.imgur.com/5BJr9dj.png)

(2) tracking 獲得的 bbox 沒有隨著人物大小自動變化
![](https://i.imgur.com/nJHkcIi.png)



## 二、 修正方法
### (1) 當使用者框的 box 大小不太正確的情況之修正

修正前-使用者框選 
![](https://i.imgur.com/5BJr9dj.png)

修正後
![](https://i.imgur.com/CgC7ZqV.png)

**修正方法**
**(1) 擷取 bbox 內部人物**
![](https://i.imgur.com/TItM9vM.png)

**(2) 使用model 判斷是否為人物*
是 =>利用 IoU 取選 最符合使用者框選的boox
![](https://i.imgur.com/7pLrFYP.png)

否 =>使用使用者修正的bbox

**(3) 取代使用者框的bbox 為 model判斷的**

![](https://i.imgur.com/HkQJ79C.png)

### (2) tracking 獲得的 bbox 沒有隨著人物大小自動變化
尚再實驗中
預計使用下列model
```gherkin=
MobileNetSSD 
yolov4
```

## 三、 執行環境安裝 
由於使用 python 來撰寫程式,必須安裝  anaconda 
若是對於 anaconda 安裝不熟悉可參考[此篇文章](https://hackmd.io/@NTUTVOTT/SJMXCwn0P)

以下包含所有的必要套件,先照下列步驟安裝 
#### （1）創建 python 環境 
```gherkin=
conda create -n py38 python=3.8
```
#### （2）切換至 opencv4.5 套件環境
```gherkin=
conda activate py38
```
![](https://i.imgur.com/TCszR6s.png)

#### （3）安裝必要套件

關於 opencv版本,若要查詢目前的版本有哪些可使用以下方式 
退出 conda 環境 
```gherkin=
conda deactivate
```
查詢 opencv 版本
```gherkin=
pip install opencv-python== 
```
![](https://i.imgur.com/bW99jzp.png)

切回 opencv4.1.2.30 環境並安裝如下套件
:::warning
不能用太新版的opencv 否則會沒有 tracker 套件 
:::
```gherkin=
conda activate py38
pip install opencv-python==4.1.2.30
pip install opencv-contrib-python==4.1.2.30
pip install imutils
```

## 四、 github
[位址](https://github.com/masteree108/auto_adjust_bbox)
```gherkin=
git clone git@github.com:masteree108/auto_adjust_bbox.git
or
git clone https://github.com/masteree108/auto_adjust_bbox.git
```

## 五、 執行程式 
```gherkin=
./run.sh
```

宣選後按下enter 或 空白鍵 ,再按下esc鍵 離開 
![](https://i.imgur.com/5BJr9dj.png)



## X、 參考資料
for using gpu:
UBUNTU PYTHON3 OPENCV使用CUDA加速
https://ubuntu1804.blogspot.com/2020/02/python3-opencvcuda.html

https://www.pyimagesearch.com/2020/02/03/how-to-use-opencvs-dnn-module-with-nvidia-gpus-cuda-and-cudnn/

###### tags: `study`
