모조 도구에 대한 "VATIC"의 대략적인 요약

대략
최근 수년간 연구자들은 AI를 위해'변형 ※ '의식을 반복하며 창조적인 작업을 박탈당했다.
그리고 쉽게 개편할 수 있지 않을까 고민한다.
※ 모조(영어:annotation)
메모로 데이터에 관련 정보(메타데이터)를 추가합니다.
일반적으로 XML과 같은 기술 형식을 사용하여 메타데이터(Wikipedia)를 표시합니다.
※ 주의
이 글에서 대상'변형'은 이미지 처리에 사용되는 물체의 검측과 추적에 사용되는 변형 방법이다.
그림 속의 물체 이름 (라벨) 과 물체 위치 (물체를 둘러싼 직사각형) 의 정보를 아날로그 정보로 기록합니다.
1. Vatic
이것은 물체 검측과 추적을 할 수 있는 시뮬레이션 도구다.
vatic의 특징은 다음과 같다.
  • 물체의 변형을 측정할 수 있다
  • 물체의 추적 변형
  • 브라우저에서 작업하므로 서버에 설치하면 작업을 분담할 수 있음
  • 가리개나 프레임 밖으로 배달 가능
  • 프레임 간의 상호 보완 기능이 있어 약간의 프레임을 뛰어넘어 방향을 정할 수 있다
  • 단점: 로컬 설치의 어려움
  • Docker로 넣는 것을 추천
  • 1.1. 작업 환경
  • Google Chrome 또는 Firefox
  • 설치
  • IE 실행 안 함
  • 2.사전 준비
    홈 페이지에 data 디렉터리를 만들고 그 중에서 videos_inlabels.txt를 만듭니다.videos_in에 개편하고 싶은 애니메이션을 넣습니다.여러 개 넣을 수 있어요.
    가장 좋은 것은 영상의 프레임 수를 사전에 확인하는 것이다
    $ mkdir -p ~/data/videos_in
    
    labels.txt에 추가할 객체 레이블을 입력합니다.여러 레이블을 입력하려면 행을 바꾸어 입력합니다.
    labels.txt
    person
    car
    dog
    
    구성은 다음과 같습니다.
    ~/data
    ├── labels.txt
    └── videos_in
        └── test.mp4
    
    3. 설치
    로컬 설치는 번거롭기 때문에 간단한 Docker로 설치합니다.
    공식 사이트 Docker 설치 방법을 확인하십시오.
    다음 명령을 사용하여 이미지 다운로드 및 설치를 시작할 수 있습니다.
    
    $ sudo docker pull npsvisionlab/vatic-docker
    
    4. 모방 집행
    다음 작업을 수행하면 모조 소프트웨어가 시작됩니다.그리고 설정을 조금 바꾸세요.$PWD 명령을 실행하는 위치의 디렉터리 경로를 삽입했기 때문에 ~/data 있는 디렉터리로 이동합니다.
    $ cd ~
    $ sudo docker run -it -p 8111:80 -v $PWD/data:/root/vatic/data npsvisionlab/vatic-docker /bin/bash
    
    먼저 위의 명령을 입력한 후 상태는 다음과 같습니다.
    소프트웨어를 실행하는 가상 OS 환경(Ubuntu)에 로그인한 상태입니다.ls(ディレクトリ内の一覧表示コマンド)를 입력하면 표시됩니다.
    root@f10f2d7exxx:/# 
    root@f10f2d7exxx:/# ls
    bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
    boot  etc  lib   media  opt  root  sbin  sys  usr
    
    여기서부터 설정을 변경합니다.
    Vim 사용, 터미널에서 사용할 수 있는 텍스트 편집기
    뭘 써도 상관없어.
    # vi /root/vatic/example.sh
    
    7 행을 수정합니다.추가--length [フレーム数以上の数字].
    이를 통해 분담 인원의 개편 장수를 설정할 수 있다.
    만약 이 설정을 하지 않는다면, 하나의 애니메이션은 수백 프레임 안팎으로 분할될 것이다
    그게 싫은 사람은 설정하세요.
    - TURKOPS="--offline --title HelloTurk!"
    + TURKOPS="--offline --title HelloTurk! --length 10000"
    
    변경할 수 있으면 실행하세요.
    # bash /root/vatic/example.sh
    
    이러한 작업을 수행하면 다음과 같은 터미널에 URL이 표시됩니다.
    URL 표시 수는 애니메이션의 길이에 따라 달라집니다.
    http://localhost/?id=1&hitId=offline
    http://localhost/?id=2&hitId=offline
    http://localhost/?id=3&hitId=offline
    
    브라우저에 URL을 붙여넣은 경우:8111 뒤에 추가localhost됩니다.
    http://localhost:8111/?id=1&hitId=offline
    
    그래서 아래의 영상 화면이 작동된다.
    이 영상을 참고하여 개편하세요.

    4.1. Options
    브라우저 아래에 Options 버튼이 있습니다.
    사용하기 편하니까 추천해드려요.
  • Disable Resize?포위함 닫기 사이즈 변경 기능
  • Hide Boxes? 포위함 숨기기
  • Hide Labels? 태그 숨기기
  • Speed[Slower,Slow,Noumal,Fast]재현속도 변경
  • 4.1.1. 가리다
    물체 추적을 하면 다른 물체에 숨겨져 보이지 않는 장면이 있다.
    탭에 표시된 Occluded or obstructed이 장면에서 물체가 보이지 않는다는 것을 표시할 수 있다.
    4.1.2. 프레임 출력
    그림에서 물체를 옮길 때 Outside of view frame 검사
    그 물체가 이후의 프레임에 나타나지 않는다는 것을 표시할 수 있다.
    4.1.3. Save Work
    어느 정도 작업을 진행하면 Save work 단추로 아날로그 정보를 저장합니다.
    이 버튼을 누르지 않고 브라우저를 닫으면 비참하기 때문에 잘 보관하는 것을 권장합니다.
    4.2. 여러 사람이 함께 일하다
    같은 네트워크에 있는 PC라도 IP 주소와 포트를 지정하면 개편이 가능하다.
    [IP address]에서 모바일 Vatic PC의 IP를 입력하면 열 수 있습니다.
    http://[IP address]:8111/?id=1&hitId=offline
    
    5. 가짜 출력
    시뮬레이션이 끝난 후 다양한 형식으로 시뮬레이션 정보를 출력할 수 있다.
    --xml       Use XML
    --json      Use JSON
    --matlab    Use MATLAB
    --pickle    Use Python's Pickle
    --labelme   Use LabelMe video's XML format
    --pascal    Use PASCAL VOC format, treating each frame as an image
    
    출력 형식을 지정하지 않으면 텍스트 형식으로 출력됩니다.currentvideo의 위치는 example.sh의 4행ID에 입력한 ID입니다.
    # cd ~/vatic
    # turkic dump currentvideo -o /root/vatic/data/output.txt
    Dumping video currentvideo
    
    다른 형식으로 내보내려면 다음 옵션을 선택합니다.
    # turkic dump currentvideo -o /root/vatic/data/output.xml --xml #xml output
    # turkic dump currentvideo -o /root/vatic/data/output.json --json #json output
    # turkic dump currentvideo -o /root/vatic/data/VOC/ --pascal #pascal VOC output
    
    출력 형식은 다음과 같습니다.
    output.xml
    <annotations count="9">
        <track id="0" label="person">
            <box frame="0" xtl="417" ytl="226" xbr="457" ybr="299" outside="0" occluded="0"/>
            <box frame="1" xtl="418" ytl="226" xbr="458" ybr="299" outside="0" occluded="0"/>
            <box frame="2" xtl="419" ytl="227" xbr="459" ybr="300" outside="0" occluded="0"/>
        <track id="1" label="person">
            <box frame="0" xtl="417" ytl="226" xbr="457" ybr="299" outside="0" occluded="0"/>
    
    output.json
    {
        "8": {
            "label": "person",
            "boxes": {
                "56": {
                    "ybr": 162,
                    "occluded": 0,
                    "outside": 0,
                    "xtl": 130,
                    "ytl": 94,
                    "xbr": 158,
                    "attributes": []
                },
                "2863": {
                    "ybr": 404,
                    "occluded": 0,
                    "outside": 1,
                    "xtl": 110,
                    "ytl": 318,
                    "xbr": 153,
                    "attributes": []
                },
    }
    
    참고: PascalVOC 출력 정보
    다음 PascalVOC 형식으로 내보낼 수 있습니다.현재(2019/07/20)의 Docker용 버전에는 다음과 같은 문제가 있습니다.
    1. 이미지 크기의 width와 Height의 값이 바뀌어 입력되기 때문에 이 값을 참조하는 프로그램을 쓸 때 주의해야 한다
    2. --dimensions의 매개 변수가 잘못되었기 때문에 출력 이미지 크기는 720x405와 같은 다른 사이즈로 저장됩니다.
    1. github의 마스터는 contrib 지점에서 수정되었지만 마스터에 통합되지 않았습니다
    Docker에서 Master 면이 구성됩니다.
    2. 규격에 관하여 Resize-pascal-voc 등을 사용하여 사이즈 조정이 필요합니다.
    pascal_dir
    ./VOC
    ├── Annotations
    │   ├── 000001.xml
    │   ├── 002941.xml
    │   ├── 002971.xml
    │   └── 002986.xml
    ├── ImageSets
    │   └── Main
    │       ├── person_train.txt
    │       ├── person_trainval.txt
    │       ├── train.txt
    │       └── trainval.txt
    └── JPEGImages
        ├── 000001.jpg
        ├── 000016.jpg
        ├── 002971.jpg
        └── 002986.jpg
    
    
    5.1. 비디오가 여러 URL로 분할된 경우
    여러 URL을 사용하여 작업을 수행한 후 에뮬레이션 정보를 통합하는 기능이 있습니다.
    만약 이렇게 하지 않는다면, 같은 물체에 대해 편성 작업자에 따라 서로 다른 ID를 휘두를 수 있기 때문이다
    모처럼의 모방 정보는 모순을 일으킨다.--merge_threshold 물체를 둘러싼 직사각형 중첩도(IoU)가 50% 이상일 때 이 직사각형을 같은 ID로 합친다.
    # turkic dump currentvideo -o /root/vatic/data/output.xml --xml --merge --merge-threshold 0.5
    
    5.2 크기 조정 요청 정보
    Vatic의 규격은 잊어버리기 쉽지만, 옵션을 지정하지 않으면 640x480의 이미지 크기로 초대 결과를 출력합니다.
    따라서 입력 이미지의 크기1920x1080가 다른 경우 다음 옵션을 선택합니다.
    # turkic dump identifier -o /root/vatic/data/output.txt --dimensions 1920x1080
    
    6.마지막
    이제 쓸모없을 줄 알았는데 최근에 다시 사용하기 시작해서 정리를 해봤어요.
    출력 옵션과 모조품의 비율이 상당히 많아 사용하기에 매우 편리하다
    총결산된 것은 공식 GiitHub의 영어뿐이다.
    ※ 상기 옵션 이외에도 시도해보세요.
    사이트 축소판 그림
    [1] Vatic
    [2] VATIC(Video Annotation Tool from Irvine, California) 간단한 설치 방법
    [3] Vatic github

    좋은 웹페이지 즐겨찾기