2Det로 물체 검출

입문


물체 검측을 조사해야 하는데, 완전히 문외한인 나에게는 이해하기 어렵다!어쨌든 한번 돌려보자!삭제합니다.따라서 우리는'최신 최강의 물체 검측'과 이 문장 에서 소개한'M2Det'방법을 만졌다.
가져오는 순서에 시간이 많이 걸렸기 때문에 최대한 꼼꼼하게 쓰고 싶어요.

환경

  • Azure VM
  • Standard NV6_Promo(6vcpu 수, 56GiB 스토리지)
  • Linux (ubuntu 18.04)
  • 구현/환경 구축


    VM


    조금만 시도하면 폐기하면 된다는 생각에 Azure에 가상 머신을 만들기로 했습니다.
    Azure Portal에서 리소스 생성 > Ubuntu Server 18.04 LTS를 선택하여 적절한 내용을 입력합니다.

    배치가 완료되면 자원으로 이동하여 연결 > ssh 명령을 복사합니다.

    VM의 포트 22가 열려 있지 않으므로 네트워크 > 수신 포트 규칙을 추가하려면 포트 22를 열어야 합니다.

    준비가 완료되면 복사된 명령을 명령 프롬프트에 붙여 SSH 연결을 수행합니다.
    SSH 연결이 완료되면 원격 데스크톱에 연결합니다.
    이 보도는 통속적이고 알기 쉽게 해설되었다.순서대로 진행되면 문제가 없을 것 같습니다.
    https://qiita.com/hiro871_/items/0086ea75518ec754b90d
    Azure Portal에서 RDP 파일을 다운로드하면 원격 데스크톱에 쉽게 연결할 수 있습니다.(실행하기만 하면 연결)

    여기서부터 원격 데스크톱에서 작업을 시작합니다.
    종착역이 여기서 열립니다.

    M2Det


    논문 작성자github의 자술 파일 설치에 필요한 것들.
    https://github.com/qijiezhao/M2Det
    M2Det는 딥러닝 프레임워크의pytorch에서 이루어지기 때문에pytorch와 주변 라이브러리를 제거해야 합니다.
    Anaconda is our recommended package manager since it installs all dependencies.
    (Anaconda는 모든 의존 관계를 설치하는 데 권장되는 패키지 관리자입니다.)
    공식 사이트에도 있고 README에도 anaconda의python 환경이 준비되어 있습니다.
    아나콘다다운로드 페이지에서python3까지.X 설치 프로그램을 다운로드하여 설치합니다.
    bash Anaconda3-2019.03-Linux-x86_64.sh
    
    라이센스 라이센스, 설치 위치 및 경로를 통과하는지 묻는 경우 기본값을 사용합니다.
    경로를 통과할 때 항상 anaconda 명령을 사용하기 때문에 anaconda를 사용할 때export만 사용합니다.
     export PATH=/home/<username>/anaconda3/bin/:$PATH 
    
    다음은 GPU 드라이버를 설치하는 것입니다.NVIDIACUDA 다운로드 페이지에서 페이지 설명에 따라 자신이 사용하는 Ubuntu 버전의 설치 프로그램을 다운로드하여 설치합니다.
    sudo dpkg -i cuda-repo-ubuntu1804_10.1.105-1_amd64.deb
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
    sudo apt-get update
    sudo apt-get install cuda
    
    pytorch를 설치합니다.github의 README 명령을 직접 붙여넣으면 오류가 발생합니다.버전 지정 == 전후의 공간을 삭제합니다.
    $ conda install pytorch==0.4.1 torchvision -c pytorch
    
    oepncv-python과 tqdm를 설치합니다.tqdm는 실행 진도를 표시줄에 표시하는 패키지입니다.
    pip install opencv-python tqdm
    
    github에서 M2Det 소스를 복제합니다.
    git clone https://github.com/qijiezhao/M2Det.git
    
    M2Det 디렉터리에 들어갑니다make.sh.
    $ cd M2Det/
    $ sh make.sh
    
    데이터 세트를 준비합니다.github 복제 원본에서 좋아하는 데이터 집합을 다운로드합니다.코코를 다운로드했습니다.
    $ git clone https://github.com/amdegroot/ssd.pytorch.git
    $ cd ssd.pytorch/
    $ sh data/scripts/COCO2014.sh
    
    마지막으로 가중 파일을 다운로드합니다.
    ( baidu cloud , google drive )
    가중치 파일을 M2Det/weights/ 아래에 놓으십시오.
    $ mkdir weights
    $ mv m2det512_vgg.pth weights/
    
    그럼, 드디어 실행되었습니다!
    $ python demo.py -c=configs/m2det512_vgg.py -m=weights/m2det512_vgg.pth --show
    Traceback (most recent call last):
      File "demo.py", line 8, in <module>
        from configs.CC import Config
      File "/home/dluser/M2Det/configs/CC.py", line 7, in <module>
        from addict import Dict
    ModuleNotFoundError: No module named 'addict'
    
    오류...
    부족한 모듈pip install이죠.
    $ pip install addict
    
    다시 실행하면 시위용 이미지를 분석했다.
    $ python demo.py -c=configs/m2det512_vgg.py -m=weights/m2det512_vgg.pth --show
     ----------------------------------------------------------------------
    |                       M2Det Demo Program                             |
     ----------------------------------------------------------------------
    The Anchor info:
    {'feature_maps': [64, 32, 16, 8, 4, 2], 'min_dim': 512, 'steps': [8, 16, 32, 64, 128, 256], 'min_sizes': [30.72, 76.8, 168.96, 261.12, 353.28, 445.44], 'max_sizes': [76.8, 168.96, 261.12, 353.28, 445.44, 537.6], 'aspect_ratios': [[2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3]], 'variance': [0.1, 0.2], 'clip': True}
    ===> Constructing M2Det model
    Loading resume network...
    ===> Finished constructing and loading model
    pos:(2.0,146.5,36.2,273.8), ids:person, score:0.972
    pos:(41.9,124.6,118.1,344.2), ids:person, score:0.913
    pos:(123.3,142.2,181.3,355.8), ids:person, score:0.667
    pos:(94.8,148.4,134.6,264.5), ids:person, score:0.506
    pos:(43.7,141.8,70.7,191.0), ids:person, score:0.447
    pos:(94.2,145.9,111.8,166.7), ids:person, score:0.128
    pos:(38.6,127.3,111.5,342.4), ids:person, score:0.124
    pos:(32.5,146.8,65.7,286.9), ids:person, score:0.120
    
    (略)
    

    감상


    0부터 환경을 만드는 게 힘들어요...
    이번에는 프레젠테이션용 프로그램만 실행했지만python 파일로 바꾸면 자신의 이미지를 해석하고 그림을 저장할 수 있기 때문에 (또는 이것은 주요한 사용 용도라고 할 수 있습니다.) 한번 시도해 보고 싶습니다!우선python의 공부부터...!

    좋은 웹페이지 즐겨찾기