---
# System prepended metadata

title: Hướng dẫn annotate toàn tập

---

# 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`.
    ![](https://i.imgur.com/SmZnPyr.png)
    - Sau khi nhấn vào hai button nêu trên, ta đã tạo được file `anno.db` để lưu thông tin:
    ![](https://i.imgur.com/FKHcJlH.png)
- **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 
    
    ![](https://i.imgur.com/9NsFcvA.png)

   
    - 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ú ý.**
     ![](https://i.imgur.com/pZYrYds.jpg)
     - 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.
     ![](https://i.imgur.com/58zDUjX.jpg)
    - **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.