# Hướng dẫn annotate toàn tập
---
Lưu ý đọc kỹ trước khi sử dụng:
- Chúng ta lấy những frame có text là scene text, không lấy graphic text
- Lấy từ các loại như:
- Biển báo giao thông
- Biển báo hướng dẫn
- Biển quảng cáo
**Ví dụ**:
https://drive.google.com/file/d/191_Rf6g3Gy4GjhcFD0bjR0Znl2KcS3ph/view?usp=sharing
---
- **Bước 1:**
Sử dụng account clone trên máy 156: `gnome/khanhmmlab`
- **Bước 2:**
Execute vào trong docker container với id là ```3c4c7759619c```
```bash
docker exec -it 3c4c7759619c bash
```
- **Bước 3:**
- Bước 3.1:
- Change dir to thư mục ```m_AnnoExs``` và chọn thư mục tương ứng với video_id trong sheet.
- Tạo symbolic link với câu lệnh:
Ví dụ với thư mục `C5bhAxfFuIc` ta thực hiện như sau:
```bash
ln -s ../extract_frame_new/C5bhAxfFuIc imDir
```
- Bước 3.2:
- Change dir tới thư mục `imDir` và thực hiện lệnh như sau:
```bash
ls *.jpg > ids.txt
```
- Sau đó quay trở lại thư mục `m_AnnoExs`
```bash
cd ..
```
- **Bước 4:**
- Thiết lập database hay còn gọi là tạo file `anno.db` bằng cách vào link như sau:
http://192.168.20.156:8080/cgi-bin/annotate.cgi?dir=imDir&id=3
- Tại màn hình sau khi truy cập vào link, chúng ta nhấn chọn hai button là `no` hoặc `maybe` để tạo file `anno.db`.

- Sau khi nhấn vào hai button nêu trên, ta đã tạo được file `anno.db` để lưu thông tin:

- **Bước 5:** Annotate ! (Đọc kỹ yêu cầu trước khi annotate để tránh sai sót)
- Truy cập vào link sau để annotate:
http://192.168.20.156:8080/cgi-bin/annotate_multi.cgi?dir=imDir&page=0

- Tại đây các bạn duyệt qua tuần tự cho mình và chọn ra **10** frames trong 10 scene khác nhau (có nghĩa là 10 cảnh khác nhau) với các yêu cầu sau:
1) Frame cần chứa ít nhất **5 text instances** và phải **nhìn rõ được chữ (eligible)**.
2) Đối với nhiều frame cùng đạt yêu cầu trong một scene, ta chỉ cần chọn ra 1 frame cleanest nhất và annotate nó.
- Cách để annotate như sau:
- Nhấn một click vào ảnh được border màu đỏ tương ứng với frame đó có nhãn là **maybe** có nghĩa là frame đó chứa đủ số lượng text instance theo yêu cầu nhưng lại nhìn không rõ chữ. **Mình không tính vào trong 10 frames mình cần trích xuất ra nên không cần phải annotate chỗ này, phần này chỉ để note cho các bạn chú ý.**

- Nhấn double click vào ảnh được border màu xanh tương ứng với frame đó có nhãn là **Yes**, có nghĩa là frame đó phù hợp với yêu cầu.

- **Note:** Các bạn có thể thao tác với việc nhấn hai nút **Next** hoặc **Prev** để di chuyển qua lại giữa các trang. Hoặc bạn muốn nhảy cóc trang thì có thể sửa value của para **imDir** trên url. Ví dụ:
```bash
http://192.168.20.156:8080/cgi-bin/annotate_multi.cgi?dir=imDir&page=300
```
- *Page=300* có nghĩa là bạn đang ở page 300, ta chỉnh sửa con số ở đó nhảy đến page mong muốn.
- **Bước 6:** sau khi hoàn tất, các bạn unlink phần symbolic link với lệnh `unlink imDir` và lặp lại bước 3 cho video kế tiếp.