NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

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

    에디터 머신러닝 매크로 성능 향상 방법. (욜로 딥러닝에서 GPU 사용.)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 성능을 테스트하기 위해 엔지엠 RPA 매크로를 실행하고, 다크넷에서 제공하는 데이타셋과 모델을 다운로드 받아줍니다. 자세한 내용은 [ 여기 ]에서 확인할 수 있습니다. 새로운 스크립트에 [ 욜로 매치 ] 액션을 추가하세요. 아래 그림을 참고해서 속성을 설정 해줍니다.

    yatIkVe.png

     

     

    딥러닝으로 검출된 이미지를 확인하기 위해 결과 이미지를 저장하도록 설정 해주세요.

    qbFTMBW.png

     

     

    이 테스트에 사용된 이미지입니다. 이 이미지를 다운로드 후 그림판에서 열어주세요.

    f00NaEW.jpg

     

     

    딥러닝으로 분석할 이미지 영역을 선택한 후 실행하세요. 현재는 CPU 모드입니다.

    9JGlayF.gif

     

     

    바탕화면에 저장된 결과 이미지를 열어볼까요? 게임 그래픽이지만~ 사람들을 잘 찾아주고 있습니다. 대략 1.72초 정도 걸렸네요.

    ft2Zssm.png

     

     

    다른 이미지들도 테스트를 해봤습니다. 아래와 같이 검출이 되었는데요. 1.27초 정도 걸렸습니다.

    vbMMGOF.png

     

     

    GPU 모드에서는 얼마나 시간이 소요될지 테스트하기 위해 아래와 같이 설정을 변경해줍니다.

    Dqx45DV.png

     

     

    갱신 속성은 욜로 매치 액션에서 어떤 속성이 변경되면 메모리에 다시 로딩하기 위한 옵션입니다. 한번 실행한 후 다시 False로 변경하시면 됩니다. 위 그림과 같이 한번 실행한 후 갱신 속성만 False로 변경하고, 다시 한번 실행해야 정상적인 결과를 얻을 수 있습니다. GPU로하면 약 0.12초 정도 시간이 걸리는군요. 단순 계산으로는 CPU보다 약 10배가량 속도가 빨라진걸 알 수 있습니다. 사실 CPU 보다 정확도도 더 올라갑니다.

     ruZ4Z9Q.png

     

     

    정확도가 올라간걸 확인하려면 좀 더 복잡한 이미지로 테스트 해보면 됩니다.

    N08nB67.png

     

     

    처음 테스트와 동일한 리니지2m으로 검출해보세요.  CPU는 1.72초 걸렸는데요. GPU는 0.15초가 소요되었습니다.

    UP7uoqM.gif

     

     

    결과도 보면 더 많은 사람을 검출한걸 확인할 수 있습니다.

    xlJLUDJ.png

     

     

    오딘도 비슷한 케릭터 디자인이라서 잘 되는군요. 아마 비슷한 그래픽 게임들은 잘 될듯합니다.

    SCtS90q.jpg

     

     

    리니지2m에서 몬스터가 여우처럼 생겼는데 늑대로 인식하는군요. 그래도, 사람은 잘 찾아지는거 같습니다. 보통은 이미지를 캡쳐해서 직접 학습시켜야 하지만... 게임을 안하는 관계로 이미지를 구할 방법이 없습니다. 그래서, 다크넷에서 기본 제공하는 이미지로 테스트를 해본거구요. 딥러닝임에도 이미지 매치만큼의 성능을 보여줍니다. 플레이어로 실행하면 더 빠르게 처리할 수 있을겁니다.

    hUZJHXM.png

     

     

    니드 포 스피드에서 자동차를 찾아봤습니다. (Runtime: 00:00:00.118)

    7KAfjeo.png

     

     

    좀 더 복잡한 이미지는 어떨까요? (Runtime: 00:00:00.167)

    WdNzFlV.jpg

     

     

    곰의 탈을 쓴 인간은 어떻게 검출될까요? 사람으로 인식하는군요-_-; 얼굴보다는 전체적인 모양으로 판단하는듯 합니다.

    FqmqOyb.png

     

     

    직접 데이타셋을 만들고, 학습시키면 눈코입뿐만 아니라 남자, 여자도 구분할 수 있습니다. 매이플 룬 같은 경우에도 쉽게 방향을 인식할 수 있죠. 하지만~ 딥러닝이 만능인건 아닙니다. 딥러닝은 만능일지라도... 이 후 비즈니스(Business) 로직은 또 다른 문제니까요. 엔지엠 에디터에서 이미지를 추론(Inference)해서 분류(Classification) 해주지만, 좌표만으로는 뭔가 할 수 있는게 없습니다. 매이플에서 룬을 풀기위해 상하좌우로 이동해야하고, 위치로 가서 풀기 버튼을 눌러줘야 하니까요. GPU 모드에서 반복을 이용하면 리얼 타임으로 분석해서 처리가 가능합니다. 크게 딜레이 없이 즉시 처리가 되겠죠^^;

     

    반도체나 타이어, 케이블, 섬유등등... 많은 제조 분야에서 비전 분석을 사용합니다. 대부분은 카메라를 이용하지만, X-Ray나 기타 여러가지 방법들이 사용됩니다. 주로 반도체쪽 업무를 하고 있지만, 가끔 타이어 제조사나 전선을 만드는 곳도 기술지원으로 회의에 참석하곤 합니다. 예외적으로 화학쪽도 가긴하지만~ 여긴 센서 위주라서 이미지 분석 솔루션을 사용하진 않죠. 아무튼, 레티클에서 파티클을 분석하는데요. 이게 꼭 불량인지는 정확하지 않습니다. 그래서, 가성 알람이 많이 발생하게 됩니다. 가성 알람을 걸러내기 위한 활동들에 딥러닝을 많이 사용하고 있습니다. 비전 분석 솔루션 업체들도 텐서플로우나 욜로를 사용하는지는 모르겠지만~ 이런 알고리즘들을 참고하면 뭔가 더 좋은 성과가 나오지 않을지 생각 해봅니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

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

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

    감사합니다~

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

    댓글목록

    등록된 댓글이 없습니다.