에디터 도구 상자 - 조건 - 욜로 매치 (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/
이 글에 첨부되어 있는 cfg파일과 names파일도 다운로드 받습니다. 에디터를 실행한 후 For 반복과 욜로 매치 액션을 추가하세요. 아래 그림을 참고해서 For 반복 하위로 욜로 매치를 추가해야 합니다.
For 반복의 속성을 아래와 같이 설정하세요.
- 반복: 100
동작 확인을 위해 감지 또는 검출된 이미지를 저장하도록 합니다. 욜로 매치의 "대상 이미지 저장 확장" 카테고리를 아래와 같이 설정하세요.
- 감지 영역 색: Orange
- 감지 영역 표시: True
- 대상 이미지 저장: True
- 저장 위치: 바탕화면/Result (바탕화면에 미리 Result 폴더를 만든 후 선택하세요.)
욜로 모델 및 GPU 옵션을 선택합니다.
- 욜로 모델
- GPU 사용: True
- GPU 수: 1 (사용자마다 다를 수 있습니다.)
- 모델 선택: 다크넷 홈페이지에서 다운로드 받은 weights 파일 선택
- 욜로 라벨: 이 글에 첨부되어 있는 coco.names 파일 선택
- 욜로 콘피크: 이 글에 첨부되어 있는 volov3.cfg 파일 선택 - 찾기 영역
- 동영상 화면을 드래그하여 선택
실행(Ctrl+Alt+F8)하면 바탕화면의 Result폴더에 이미지가 100장 만들어집니다. 아래는 몇장을 추출한 이미지입니다.
속성 정보
기본 작업
- 사용 여부: 이 액션의 사용 여부를 설정합니다. False로 설정하면 이 액션은 실행되지 않습니다.
- 설명: 이 액션의 부가적인 설명을 입력합니다.
- 실행 전 지연: 이 액션이 실행되기 전 지연 시간을 입력합니다.
- 실행 후 지연: 이 액션이 실행된 후 지연 시간을 입력합니다.
- 실행율: 이 값이 100이면 무조건 실행됩니다. 50으로 설정하면 50프로 확률로 실행되거나 안될수도 있습니다.
- 아이디: 스크립트 내에서 유니크한 아이디를 입력합니다.
대상 이미지 저장 확장
- 감지 영역 색: 감지 영역에 테두리와 이름을 설정한 색으로 표시합니다.
- 감지 영역 표시: 감지 영역의 표시 여부입니다. (감지 영역 색으로 표시합니다.)
- 대상 이미지 저장: 찾을 대상 이미지 저장 여부입니다.
- 덮어쓰기: 기본 값은 False입니다. 이 값을 True로 변경하면 같은 이름으로 덮어쓰기됩니다.
- 이미지 저장 조건: 원본과 대상이미지를 저장할 수 있는 옵션입니다.
- 이미지 저장 지연: 이미지를 저장하는 행위는 스레드에 안전하지 않습니다. 작업이 완료될때까지 충분한 시간이 필요합니다.
- 저장 위치: 이미지를 저장할 폴더와 이미지 이름입니다.
데이터
- 마우스 좌표 목록: 감지된 모든 오브젝트의 마우스 좌표 목록을 표시합니다.
- 매인 윈도우 정보: 비활성 모드에서 동적으로 좌표를 계산하기 위해 매인 윈도우의 정보가 필요합니다.
- 매치 스코어: 감지된 모든 오브젝트의 스코어를 표시합니다.
- 분류 이름: 감지된 모든 오브젝트의 이름을 표시합니다.
- 이미지 정보 목록: 감지된 오브젝트의 정보를 표시합니다. (X, Y, Width, Height)
- 이미지 텍스트 결과: 오브젝트 감지가 성공하면 표시할 텍스트입니다.
- 컨트롤 윈도우 정보: 비활성 모드에서 동적으로 좌표를 계산하기 위해 컨트롤 윈도우의 정보가 필요합니다.
마우스 동작
- 다운 업 랜덤 지연 최대값: 마우스 다운 업의 랜덤 지연 값입니다. 이 값은 최소값보다 커야 합니다.
- 다운 업 랜덤 지연 최소값: 마우스 다운 업의 랜덤 지연 값입니다.
- 다운 업 지연: 마우스의 다운과 업 사이에 지연시킬 값입니다.
- 랜덤 맥시멈: 마우스 좌표를 랜덤하게 처리하기 위한 최대값입니다.
- 랜덤 미니멈: 마우스 좌표를 랜덤하게 처리하기 위한 최소값입니다.
- 랜덤 적용 옵션: X, Y하나만 랜덤값을 적용합니다. 모두 랜덤하게 하려면 XY를 선택하세요.
- 마우스 동작: 마우스 동작을 선택합니다.
- 마우스 액션 인덱스: 멀티 마우스 액션에서 인덱스를 선택하면 이 값으로 감지된 오브젝트 목록에서 선택한 인덱스에 마우스 액션이 실행됩니다.
- 마우스 위치: 찾은 이미지의 범위 내에서 마우스 위치를 선택할 수 있습니다.
- 마우스 절대 좌표: 이 값을 설정하면 이미지를 찾은 위치가 아닌 이 값으로 마우스가 동작합니다.
- 멀티 마우스 액션: 이미지에서 여러개의 오브젝트가 감지 되었을 때 마우스 액션 적용 범위를 선택합니다.
- 모서리 위치: 찾은 이미지의 영역을 9분할하여 모서리쪽에 클릭합니다.
- 비활성 모드 방식: 비활성 모드에서 액션을 처리하는 방식을 선택할 수 있습니다.
- 최종 좌표 사용: 최종 좌표 사용을 True로 변경하면 랜덤, 오프셋이 적용된 좌표값으로 표시됩니다. False는 원본 좌표값을 표시하지만 랜덤이나 오프셋은 적용됩니다.
- 활성 모드 방식: 활성 모드에서 액션을 처리하는 방식을 선택할 수 있습니다.
변수
- 가져오기: 글로벌 또는 로컬 변수에 저장되어 있는 값을 이 액션의 속성 값으로 가져옵니다.
- 추가하기: 이 액션의 속성 값을 글로벌 또는 로컬 변수에 저장합니다.
욜로 모델
- GPU 사용: GPU 사용 여부를 설정합니다.
- GPU 수: 오브젝트 검출에 사용할 GPU의 수를 입력하세요.
- 갱신: 욜로 랩퍼(Wrapper)를 갱신합니다. 이 값을 True로 설정하면 새로운 욜로 랩퍼를 만들지만 속도가 저하됩니다.
- 모델 선택: 이미지에서 오브젝트를 검출하기 위해 학습된 모델을 선택합니다.
- 욜로 라벨: 욜로에서 감지 또는 검출할 오브젝트의 이름 목록 파일을 선택합니다.
- 욜로 콘피그: 욜로 콘피그 파일을 선택합니다.
이미지 편집
- 흑백 사용: 이미지를 흑백으로 변환 후 오브젝트 감지에 사용합니다.
작업
- 비교 간격: 이미지를 다시 비교하기까지 시간을 나타냅니다.
- 비교 횟수: 이미지를 다시 비교하는 횟수를 설정할 수 있습니다.
- 이미지 순서: 찾은 모든 이미지의 순서를 설정합니다. 순서는 콤마로 구분하여 입력하세요.
- 이미지 텍스트: 조건이 같음(True)일 때 표현한 텍스트입니다.
- 찾기 영역: 이미지를 찾는 영역이 너무 크면, 성능이 저하될 수 있습니다. 가능하면 이미지를 찾는 영역을 작게 설정하세요.
- 최상위 하나: 찾은 오브젝트들 중에서 가장 높은 점수(Score)를 받은 하나만 처리합니다.
- 최소 유사율: 이미지 검출에 사용하는 최소 유사율입니다.
조건 설정
- 같음: 이미지 체크에서 동일한 이미지로 판단된 경우 이동할 액션의 아이디를 설정합니다.
- 다름: 이미지 체크에서 다른 이미지로 판단된 경우 이동할 액션의 아이디를 설정합니다.
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
첨부파일
-
coco.names (625byte)
46회 다운로드 | DATE : 2020-08-04 19:04:48 -
yolov3.cfg (8.2K)
47회 다운로드 | DATE : 2020-08-04 19:04:48