NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • NGM 5
  • 매뉴얼

    NGM 5의 매뉴얼입니다.

    NGM 5

    NGM 5의 매뉴얼입니다.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 도구 상자 - 조건 - 욜로 매치 (Tool box, Condition, Yolo Match)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 머신러닝(Machine Learning)의 3번째 기능인 욜로 매치 액션이 추가되었습니다. 엔지엠에서 기본으로 제공하는 머신러닝이 2가지 있지만, 사용성과 접근성이 좋지 못한 단점이 있습니다. 욜로 매치는 다크넷의 욜로 모델을 사용합니다. 매뉴얼 > 학습 > 딥러닝을 통해 욜로를 학습(훈련)시키기 위한 시스템을 구축할 수 있습니다. 아래 링크에서 CUDA 10.2 버전을 설치해주세요. cuDNN은 CUDA 10.2 버전에 맞는 7.6.5 버전을 설치해야 합니다.

    [ ※ 중요 - 욜로 매치 액션을 사용하기 위한 컴퓨터 셋팅 방법 ]

    [ 욜로 매치 V3의 GPU 사용시 추가 설치 항목 ]

    ※ 욜로 매치의 GPU 기능을 사용하려면 CUDA, cuDNN이 미리 설치되어 있어야 합니다.

    ※ 욜로 매치의 갱신 속성은 다른 속성을 변경하면 꼭! 한번은 True로 적용하고, 다시 False로 변경해야 속도가 빠릅니다.

    ※ 갱신을 사용하는 이유는 처음 실행시 딥러닝 엔진을 초기화 하는데 시간이 많이 소요되므로, 한번만 메모리로 로딩하기 위한 옵션입니다.

     

    이 예제를 따라하기 위해 다크넷에서 훈련 파일(yolov3.weights)을 다운로드 받습니다.

    https://pjreddie.com/darknet/yolo/

    CtR4hFm.png

     

     

    이 글에 첨부되어 있는 cfg파일과 names파일도 다운로드 받습니다. 에디터를 실행한 후 For 반복과 욜로 매치 액션을 추가하세요. 아래 그림을 참고해서 For 반복 하위로 욜로 매치를 추가해야 합니다.

    hGzhnQi.png

     

     

    For 반복의 속성을 아래와 같이 설정하세요.

    1. 반복: 100

    eDZeonp.png

     

     

    동작 확인을 위해 감지 또는 검출된 이미지를 저장하도록 합니다. 욜로 매치의 "대상 이미지 저장 확장" 카테고리를 아래와 같이 설정하세요.

    • 감지 영역 색: Orange
    • 감지 영역 표시: True
    • 대상 이미지 저장: True
    • 저장 위치: 바탕화면/Result (바탕화면에 미리 Result 폴더를 만든 후 선택하세요.)

    pFo5O03.png

     

     

    욜로 모델 및 GPU 옵션을 선택합니다.

    1. 욜로 모델
      - GPU 사용: True
      - GPU 수: 1 (사용자마다 다를 수 있습니다.)
      - 모델 선택: 다크넷 홈페이지에서 다운로드 받은 weights 파일 선택
      - 욜로 라벨: 이 글에 첨부되어 있는 coco.names 파일 선택
      - 욜로 콘피크: 이 글에 첨부되어 있는 volov3.cfg 파일 선택
    2. 찾기 영역
      - 동영상 화면을 드래그하여 선택

    pBbiZXI.png

     

     실행(Ctrl+Alt+F8)하면 바탕화면의 Result폴더에 이미지가 100장 만들어집니다. 아래는 몇장을 추출한 이미지입니다.

    E5euwHk.png

     

    fE1o8hp.png

     

    OpQmaYI.png

     

    nvFlvxM.png

     

     

    속성 정보 

    16Xl5M8.png

      

      

    기본 작업

    • 사용 여부: 이 액션의 사용 여부를 설정합니다. False로 설정하면 이 액션은 실행되지 않습니다.
    • 설명: 이 액션의 부가적인 설명을 입력합니다.
    • 실행 전 지연: 이 액션이 실행되기 전 지연 시간을 입력합니다.
    • 실행 후 지연: 이 액션이 실행된 후 지연 시간을 입력합니다.
    • 실행율: 이 값이 100이면 무조건 실행됩니다. 50으로 설정하면 50프로 확률로 실행되거나 안될수도 있습니다.
    • 아이디: 스크립트 내에서 유니크한 아이디를 입력합니다.

     

    대상 이미지 저장 확장

    • 감지 영역 색: 감지 영역에 테두리와 이름을 설정한 색으로 표시합니다.
    • 감지 영역 표시: 감지 영역의 표시 여부입니다. (감지 영역 색으로 표시합니다.)
    • 대상 이미지 저장: 찾을 대상 이미지 저장 여부입니다.
    • 덮어쓰기: 기본 값은 False입니다. 이 값을 True로 변경하면 같은 이름으로 덮어쓰기됩니다.
    • 이미지 저장 조건: 원본과 대상이미지를 저장할 수 있는 옵션입니다.
    • 이미지 저장 지연: 이미지를 저장하는 행위는 스레드에 안전하지 않습니다. 작업이 완료될때까지 충분한 시간이 필요합니다.
    • 저장 위치: 이미지를 저장할 폴더와 이미지 이름입니다.

     

    데이터

    • 마우스 좌표 목록: 감지된 모든 오브젝트의 마우스 좌표 목록을 표시합니다.
    • 매인 윈도우 정보: 비활성 모드에서 동적으로 좌표를 계산하기 위해 매인 윈도우의 정보가 필요합니다.
    • 매치 스코어: 감지된 모든 오브젝트의 스코어를 표시합니다.
    • 분류 이름: 감지된 모든 오브젝트의 이름을 표시합니다.
    • 이미지 정보 목록: 감지된 오브젝트의 정보를 표시합니다. (X, Y, Width, Height)
    • 이미지 텍스트 결과: 오브젝트 감지가 성공하면 표시할 텍스트입니다.
    • 컨트롤 윈도우 정보: 비활성 모드에서 동적으로 좌표를 계산하기 위해 컨트롤 윈도우의 정보가 필요합니다.

     

    마우스 동작

    • 다운 업 랜덤 지연 최대값: 마우스 다운 업의 랜덤 지연 값입니다. 이 값은 최소값보다 커야 합니다.
    • 다운 업 랜덤 지연 최소값: 마우스 다운 업의 랜덤 지연 값입니다.
    • 다운 업 지연: 마우스의 다운과 업 사이에 지연시킬 값입니다.
    • 랜덤 맥시멈: 마우스 좌표를 랜덤하게 처리하기 위한 최대값입니다.
    • 랜덤 미니멈: 마우스 좌표를 랜덤하게 처리하기 위한 최소값입니다.
    • 랜덤 적용 옵션: X, Y하나만 랜덤값을 적용합니다. 모두 랜덤하게 하려면 XY를 선택하세요.
    • 마우스 동작: 마우스 동작을 선택합니다.
    • 마우스 액션 인덱스: 멀티 마우스 액션에서 인덱스를 선택하면 이 값으로 감지된 오브젝트 목록에서 선택한 인덱스에 마우스 액션이 실행됩니다.
    • 마우스 위치: 찾은 이미지의 범위 내에서 마우스 위치를 선택할 수 있습니다.
    • 마우스 절대 좌표: 이 값을 설정하면 이미지를 찾은 위치가 아닌 이 값으로 마우스가 동작합니다.
    • 멀티 마우스 액션: 이미지에서 여러개의 오브젝트가 감지 되었을 때 마우스 액션 적용 범위를 선택합니다.
    • 모서리 위치: 찾은 이미지의 영역을 9분할하여 모서리쪽에 클릭합니다.
    • 비활성 모드 방식: 비활성 모드에서 액션을 처리하는 방식을 선택할 수 있습니다.
    • 최종 좌표 사용: 최종 좌표 사용을 True로 변경하면 랜덤, 오프셋이 적용된 좌표값으로 표시됩니다. False는 원본 좌표값을 표시하지만 랜덤이나 오프셋은 적용됩니다.
    • 활성 모드 방식: 활성 모드에서 액션을 처리하는 방식을 선택할 수 있습니다.

     

    변수

    • 가져오기: 글로벌 또는 로컬 변수에 저장되어 있는 값을 이 액션의 속성 값으로 가져옵니다.
    • 추가하기: 이 액션의 속성 값을 글로벌 또는 로컬 변수에 저장합니다.

      

    욜로 모델

    • GPU 사용: GPU 사용 여부를 설정합니다.
    • GPU 수: 오브젝트 검출에 사용할 GPU의 수를 입력하세요.
    • 갱신: 욜로 랩퍼(Wrapper)를 갱신합니다. 이 값을 True로 설정하면 새로운 욜로 랩퍼를 만들지만 속도가 저하됩니다.
    • 모델 선택: 이미지에서 오브젝트를 검출하기 위해 학습된 모델을 선택합니다.
    • 욜로 라벨: 욜로에서 감지 또는 검출할 오브젝트의 이름 목록 파일을 선택합니다.
    • 욜로 콘피그: 욜로 콘피그 파일을 선택합니다.

     

    이미지 편집

    • 흑백 사용: 이미지를 흑백으로 변환 후 오브젝트 감지에 사용합니다.

     

    작업

    • 비교 간격: 이미지를 다시 비교하기까지 시간을 나타냅니다.
    • 비교 횟수: 이미지를 다시 비교하는 횟수를 설정할 수 있습니다.
    • 이미지 순서: 찾은 모든 이미지의 순서를 설정합니다. 순서는 콤마로 구분하여 입력하세요.
    • 이미지 텍스트: 조건이 같음(True)일 때 표현한 텍스트입니다.
    • 찾기 영역: 이미지를 찾는 영역이 너무 크면, 성능이 저하될 수 있습니다. 가능하면 이미지를 찾는 영역을 작게 설정하세요.
    • 최상위 하나: 찾은 오브젝트들 중에서 가장 높은 점수(Score)를 받은 하나만 처리합니다.
    • 최소 유사율: 이미지 검출에 사용하는 최소 유사율입니다.

     

    조건 설정

    • 같음: 이미지 체크에서 동일한 이미지로 판단된 경우 이동할 액션의 아이디를 설정합니다.
    • 다름: 이미지 체크에서 다른 이미지로 판단된 경우 이동할 액션의 아이디를 설정합니다.

     

    [ 조건의 조건 지연 실행 옵션 도움말 ]

    [ 조건의 되돌아가기 사용 옵션 도움말 ]

     

    개발자에게 후원하기 

     JPszhUW.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    첨부파일

    댓글목록

    profile_image

    토뮤리얼님의 댓글

    no_profile 토뮤리얼 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    대박이네요 기가막힙니다.

    profile_image

    레밍님의 댓글

    no_profile 레밍 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일 Date

    활용 방법이 떠오르지 않습니다 ㅠ 어디에 활용할수 있을까요?

    profile_image

    엔지엠소프트웨어님의 댓글

    엔지엠소프트웨어 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일 Date

    이미지 서치로 해결할 수 없는 모든곳에 사용이 가능합니다. 사실 무궁무진하게 응용할 부분이 많죠^^;

    profile_image