indyeye의 기능 문의​



  • 제품의 견적을 받았습니다.

    다른 부분은 이해가 되는데 인디아이의 기능에 대한 설명이 거의 없어서

    유튜브의 정재훈대리님이 올리신 동영상을 찾아봐도, 그 기능이 모두 설명이 안되어 있는 것 같아서요.

    물체검사와 pick & place만 설명되어 있고

    검사의 어떤 항목들이 있는지가 정확한 설명이 없습니다.

    그래서 indyeye 검사의 구체적인 기능을 문의 드립니다.

    상용 딥러닝 머신 비전툴에서는 위치인식, 결함감지, 텍스트 및 문자 판독, 제품분류, 크기측정 등의 

    아주 많은 기능이 있는데 제가 견적서에서 입수한 인디아이 제품에 대한 설명은 

    IndyEye Spec

    size : 67*67*74.4

    interface : USB3.0

    FPS : 60fps

    Resolution : 1280 * 1024

    Nvidia Xavier installed inside indyCB

    이게 전부입니다.

    질문을 요약하면 제공해주시는 indyeye 비전툴과 indyeye sdk를 이용하면

    상용툴과 같은 위치인식, 결함감지, 텍스트 및 문자 판독, 제품분류, 크기측정 의 기능 구현이 가능한지 

    문의드립니다.

    그리고 있다면 indyeye 비전툴과 sdk에 대한 구체적인 설명서를 보내주세요.



  • 안녕하세요, IndyEye 담당자 송희준입니다.

    먼저 말씀하신 IndyEye 스펙에 대해 추가로 답변 드리도록 하겠습니다.

     

    현재 카메라의 초점은 40cm를 기준으로 맞춰져 있는 상태로 고정되어 있습니다.

    추가 정보에 대해 간략히 나타내면 아래와 같습니다(메일로 송부드렸던 것과 같은 것입니다).

    • FOV: 851.75mm(W) x 631.34mm(H)
    • Focal Length(f): 3.37mm
    • Working Distance(D): 400mm
    • Horizontal Angle of View: 93.637 deg
    • Vertical Angle of View: 76.598 deg
    • Shutter: Global shutte

     

    카메라 이미지 센서와 렌즈에 대한 스펙은 첨부된 파일과 같습니다.

    • UI-3241LE-C-HQ [Download] : 이미지 센서 스펙입니다.
    • FS0305A [Download] : 렌즈 스펙입니다.

     

    두 번째로, 질문해주신 사항에 대해 하나씩 안내드리도록 하겠습니다.

     

    현재, 제공해드리는 IndyEye 비전 시스템에서는 위치인식, 텍스트 및 문자 판독, 제품 분류가 가능합니다.

    결함 감지의 경우, 검출 시편에 따라 결과가 상이하기 때문에 말씀드리기 어려운 점 양해 바랍니다.

    크기 측정의 경우, 현재 추가중인 기능으로, 금년 내에 완료될 것으로 예상됩니다.

    검사 관련 프로세스에 대해 보다 상세한 정보가 필요하시다면 아래의 링크를 참고하여 주시기 바랍니다.

    http://docs.neuromeka.com/2.3....

     



  • 현재 IndyEye SDK는 따로 제공되고 있지 않습니다.

    하지만, TCP 통신을 통해 검출을 진행하실 수 있으며, 이를 위해 indyeye_client.py 이라는 Python 스크립트를 제공해드리고 있습니다.

    아래는 해당 스크립트를 활용하는 예제입니다.

    1. 모듈 추가

    해당 예제에서는 IndyEye를 통해 로봇을 컨트롤하는 방법을 소개합니다.

    indydcp_client : Indy7의 DCP 연결을 위해 사용됩니다.

    indyeye_client : IndyEye의 검출 명령을 위해 사용됩니다.

    indy_program_maker : 해당 모듈은 로봇의 모션 등을 조금 더 효율적으로 작성하기 위해 사용되지만, 현재의 예제에서는 해당 내용을 제외하였습니다.

     

    2. DCP 연결 테스트

    위의 스크립트를 통해, DCP에 연결하여 로봇에 정상적으로 접근이 가능한지 확인할 수 있습니다.

     

    3. IndyEyeClient 소개

    • CMD_XXX : IndyEye가 실행할 작업 항목
    • TBX_XXX : 검출 이후에 반환 받을 데이터 항목
    • detect() : 영상처리 알고리즘 실행 (IndyEye 안드로이드 앱에서 설정된 그래프를 실행합니다.)
    • detect_by_object_name() : 검출할 물체의 label을 타겟 물체로 하여 영상처리 알고리즘 실행
    • retrieve() : Select 모듈의 retrieve 실행 (detect 이후, 검출된 물체들의 결과값을 retrieve 실행 때마다 순차적으로 반환 받습니다.)
    • get_object_dict() : 그래프 상에 등록된 물체 label들을 모두 dictionary 형태로 반환

     

    4. 그래프 작성 및 Python 코드로 검출 실행

    위와 같이, detect 명령을 통해 물체의 6D Position을 취득할 수 있습니다.

    - 만약 검사 모듈로 Pass/Fail이 반영된 결과가 필요하다면 _run_command를 통해 해당 정보를 얻을 수 있습니다.

     

    5. 물체 인식 후, 로봇 제어 예제

     

    6. retrieve 예제

    그래프 상, Select 모듈의 retrieve 옵션이 ON이라면, 위의 사진과 같이 detect() 함수의 결과 값은 무조건 None이 됩니다.

    해당 결과를 취득하기 위해서는 retrieve()를 실행하여야 하며, detect()가 실행된 시점을 기준으로 retrieve()가 실행될 때마다 각 물체의 위치 정보를 계산하여 반환받을 수 있습니다.

     

     

    이상으로, 답변을 마치도록 하겠습니다.

    감사합니다.


Log in to reply