---
# System prepended metadata

title: 'VoTT 安裝流程與建立專案(Ubuntu 18.04) '
tags: [VoTT, setup]

---

---
title: 'VoTT 安裝流程與建立專案(Ubuntu 18.04) '
disqus: hackmd
---

VoTT 安裝流程與建立專案(Ubuntu 18.04) 
===

[TOC]

## Ubuntu 18.04 VoTT 安裝流程與建立專案

### 1. 下載 VoTT source code
 
> (1) 為了方便管理整個專案,請先開一個資料夾後進入*
```gherkin= 
$ mkdir VoTT
$ cd VoTT
```
* 註: 請選擇安裝位置,注意此份安裝文件可能會與您安裝的位置不同

> (2) 下載 source code*
    
```gherkin= 
$ git clone https://github.com/masteree108/VoTT_NTUT_Ubuntu18.git
```
* 註: 此包 source code 是基於在 [microsoft/VoTT](https://github.com/microsoft/VoTT/) 2.2.0版本上開發新功能


### 2. 安裝相關套件

> (1) 由於編譯與執行需要使用到NPM與node.js相關套件,所以使用[PPA](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04)進行安裝,若直接安裝如下容易出錯

~~$ sudo apt install npm~~
~~$ sudo apt install nodejs~~


[詳細安裝方法1](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04)
[詳細安裝方法2](https://github.com/nodesource/distributions)
     
> (2) 由於編譯與執行需要使用到NPM與node.js相關套件,所以使用PPA進行安裝,若直接安裝如下容易出錯
```gherkin= 
若有舊版 nodejs 和 npm 請先移除
$ sudo apt-get purge nodejs
$ sudo npm uninstall npm -g (若上一行移除成功則不須做此行)
```
```gherkin= 
安裝
$ cd /tmp
$ curl -sL https://deb.nodesource.com/setup_10.x -o nodesource_setup.sh \
&& sudo chmod +x nodesource_setup.sh \
&& sudo ./nodesource_setup.sh \
&& sudo apt-get install -y nodejs \
&& sudo apt install build-essential
```

> (3) 檢查安裝板本
```gherkin= 
$ nodejs -v
 v10.23.1

    
$ npm -v
 6.14.10
```

### 3. VoTT 安裝、編譯與運行
> (1) 回到VoTT/VoTT_NTUT 資料夾
```gherkin= 
$ cd VoTT/VoTT_NTUT
```

> (2) 執行編譯與運行*
```gherkin=
$ npm ci
$ npm start
```

* 註: 若是source code有修改,在執行npm start即會進行編譯檢查
    運行後會出現 web 與 local版本,由於官方文件有說明 web 版本只能載入雲端上的專案,
    這份文件沒有使用此功能,所以文件範例會已local版本當教學(下圖為local版本）
    
    ![](https://i.imgur.com/NUyK1cA.png)


### 4. 關於 security token 

> 引述官方文件如下

#### NOTE: Project files can be shared among multiple people. In order to share sensitive project settings, all parties must

為了讓專案讓LAB的同學共同使用, security token 使用先前研究留下來的key
```gherkin=
Name : NTUTDrone Token
Key : qITjd1Rj6hFqC7uB0OGxPKYVxIFSdcMrprQAMS5rEhc=
```

點選左下角的齒輪,輸入之前的 security token
    ![](https://i.imgur.com/aSEvMqN.png)

### 5. 建立專案

> （1）建立一個專案資料夾
```gherkin=
$ cd VoTT
$ mkdir Drone_Project
$ cd Drone_Project
$ mkdir -p Drone_Target/001    //用來放置專案的.vott檔案*
$ mkdir -p Drone_Source/001    //用來放置來源影片*
```
* 註：Drone_001是代表影片代號名稱,每個影片都會個別建立自己的資料夾以免混亂,
     若有002影片就分別在Drone_Target與Drone_Source建立002資料夾,依此類推
      
      
> (2) 執行VoTT
```gherkin=
$ cd ../VoTT_NTUT
$ npm start
```

> (3) 新建專案設定（名稱、專案路徑、來源路徑等)
* 在VoTT內點選 New Project
  ![](https://i.imgur.com/RietpWp.png)

* 專案名稱：NTUT_Drone

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


* Security Token: 選擇 "**4. 關於 security token**" 所建立的設定,
  下拉即可找到 **NTUTDrone Token** 選項
  ![](https://i.imgur.com/oDF61qV.png)

* Source Connection
  選擇右邊的Add Connection會進入Connection Settings畫面
  按照下圖選擇
  輸入Display Name: Drone_Source_001 (_00X請依據影片名稱創立)
  Provider 選擇 Local File System
  Local File System 選擇剛剛在 "**（1）建立一個專案資料夾**" 建立的source資料夾 Drone_Source/001 
  按下Save Connection回到 Project Settings

  ![](https://i.imgur.com/vSgRdHE.png)
  
  選擇剛剛設定的資料夾
  ![](https://i.imgur.com/YQ4z1mY.png)


* Target Connection
  選擇右邊的Add Connection會進入Connection Settings畫面
  按照下圖選擇
  輸入Display Name: Drone_Target_001 (_00X請依據影片名稱創立)
  Provider 選擇 Local File System
  Local File System 選擇剛剛在 "**（1）建立一個專案資料夾**" 建立的target資料夾 Drone_Target/001
  按下Save Connection回到 Project Settings

  ![](https://i.imgur.com/y4thq8S.png)
  
    選擇剛剛設定的資料夾
    ![](https://i.imgur.com/zZBXEbR.png)

* Video Settings 使用預設的15,下圖為整個專案設定,按下 Save Project 按鈕完成新建專案設定
    ![](https://i.imgur.com/I34sZLS.png)

* 完成後會看到的專案畫面

    ![](https://i.imgur.com/vtLd1k9.jpg)

### 6. 載入專案
> 選擇Open Local Project, 找到剛剛在"**（1）建立一個專案資料夾**" 建立的target資料夾 Drone_Target/001 ,可看到NTUT_Drone.vott

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

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

### 7. 匯出專案
> (1) 匯出專案設定
* 這邊統一採匯出csv與json格式,請專案負責人這兩種格式都必須要匯出!!
  Asset State 選擇 Only tagged Assets
  另外取消include Images選項
  匯出 CSV
  ![](https://i.imgur.com/BaX4bUf.png)
  
  匯出 JSON
  ![](https://i.imgur.com/ilsVbz8.png)

> (2) 匯出專案範例
* 若是標注完成,可按下右上角匯出按鈕 ![](https://i.imgur.com/rUIpAzz.png)


    ![](https://i.imgur.com/dGPvOoa.jpg)

    ！！請注意,csv格式會匯出在Drone_Target/001資料夾！！
       ![](https://i.imgur.com/8gv5m9c.png)

    ！！另外請在更改一次匯出設定,在匯出JSON檔案！！
    ![](https://i.imgur.com/vzFiXyN.png)
    
    ！！**請再次確認這兩種格式必須都要匯出**,否則期末無法算出誰標的最多,攸關分數很重要！！

###### tags: `setup`, `VoTT`