KR20220070313A - Ai 육안 검사 시스템 및 방법 - Google Patents

Ai 육안 검사 시스템 및 방법 Download PDF

Info

Publication number
KR20220070313A
KR20220070313A KR1020227014750A KR20227014750A KR20220070313A KR 20220070313 A KR20220070313 A KR 20220070313A KR 1020227014750 A KR1020227014750 A KR 1020227014750A KR 20227014750 A KR20227014750 A KR 20227014750A KR 20220070313 A KR20220070313 A KR 20220070313A
Authority
KR
South Korea
Prior art keywords
defect
article
data
plc
image
Prior art date
Application number
KR1020227014750A
Other languages
English (en)
Inventor
마틴 부피
라에프 셰하타
Original Assignee
무사시 오토 파츠 캐나다 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 무사시 오토 파츠 캐나다 인크. filed Critical 무사시 오토 파츠 캐나다 인크.
Publication of KR20220070313A publication Critical patent/KR20220070313A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/9515Objects of complex shape, e.g. examined with use of a surface follower device
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N35/00Automatic analysis not limited to methods or materials provided for in any single one of groups G01N1/00 - G01N33/00; Handling materials therefor
    • G01N35/0099Automatic analysis not limited to methods or materials provided for in any single one of groups G01N1/00 - G01N33/00; Handling materials therefor comprising robots or similar manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41875Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by quality surveillance of production
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/695Control of camera direction for changing a field of view, e.g. pan, tilt or based on tracking of objects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8854Grading and classifying of flaws
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8854Grading and classifying of flaws
    • G01N2021/888Marking defects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8883Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges involving the calculation of gauges, generating models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8887Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N2201/00Features of devices classified in G01N21/00
    • G01N2201/10Scanning
    • G01N2201/104Mechano-optical scan, i.e. object and beam moving
    • G01N2201/1047Mechano-optical scan, i.e. object and beam moving with rotating optics and moving stage
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32368Quality control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/32Indexing scheme for image data processing or generation, in general involving image mosaicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30136Metal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Biochemistry (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Robotics (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Mechanical Engineering (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Image Analysis (AREA)

Abstract

육안 검사를 위한 시스템 및 방법이 제공된다. 상기 시스템은 제조 시설이나 현장의 품질 보증 스테이션에서 사용될 수 있다. 상기 시스템은 제조 또는 제작된 물품의 품질을 평가 및 결정할 수 있다. 상기 시스템은 상기 물품의 이미지를 캡처하기 위한 기계적 서브시스템을 포함할 수 있다. 상기 시스템은 이미지와 같은 데이터를 캡처하기 위한 카메라와 같은 센서를 포함할 수 있다. 상기 시스템은 상기 물품에 허용 가능하지 않은 결함이 있는지 여부를 결정하는 인공 지능 시스템을 포함할 수 있다.

Description

AI 육안 검사 시스템 및 방법
다음은 일반적으로 육안 검사에 관한 것으로, 특히 인공 지능을 사용하여 물품의 육안 결함 검사를 위한 시스템 및 방법에 관한 것이다.
육안 검사는 제품 제조의 중요한 부분이 될 수 있다. 결함이 있는 제품은 비용이 많이 들 수 있다. 공정의 적절한 단계에서 결함이 있는 제품을 발견하는 것은 기업이 결함이 있는 제품의 판매 및 사용을 방지하고 불량과 관련된 근본 원인을 파악하여 개선할 수 있도록 하는 중요한 단계가 될 수 있다.
기존 육안 검사 해결수법은 공간이 제한된 제조 및 기타 유사한 환경에서 구현하기 어려울 수 있다. 하드웨어 요구사항은 비용과 운영 복잡성을 증가시킬 수 있다.
어떤 경우에는 육안 검사가 여전히 사람의 검사를 사용하여 수행될 수 있다. 예를 들어, 캠샤프트 검사에는 사람이 캠샤프트을 물리적으로 집어 확대 도구를 사용하여 검사하는 것이 포함될 수 있다. 육안 검사 기술은 정확성과 속도면에서 제한적일 수 있다. 사람이 검사하면 결함이 누락될 수 있다. 또한, 인적 검사에는 식별된 결함 및 관련 정보를 문서화하는 것을 포함하여 육안 검사를 수동으로 문서화하는 프로세스가 포함될 수 있다. 이러한 문서화 프로세스는 검사를 더욱 느리게 할 수 있다.
육안 검사의 경우 1차 검사에서 결함이 있는 제품으로 판단되는 물품에 대하여 2차, 3차 검사를 통해 결과를 확인하는 경우가 있다. 이러한 추가 검사 단계는 품목당 검사 시간을 크게 증가시킬 수 있다.
캠샤프트 검사의 경우 1차 검사자의 검사는 캠샤프트당 약 45초에서 1분 정도 소요될 수 있다. 2차 검사는 캠샤프트당 시간을 약 1.5분으로 늘릴 수 있다. 3차 검사는 약 2분 15초로 시간을 추가로 늘릴 수 있다. 이 검사 시간에는 사람 검사와 관련된 이동 시간이 포함되지 않으므로 검사 시간이 늘어날 수 있다.
제조 업계에서는 인공 지능(AI)을 사용하는 해결수법을 비롯한 많은 시각적 검사 해결수법이 클라우드를 사용한다. 다른 해결수법은 사내 서버 또는 표준 폼 팩터 컴퓨터 부품을 사용할 수 있다. 많은 사용자는 방화벽 뒤에서 통신을 잠그고 데이터 사일로를 만들기 위해 클라우드를 사용하는 것을 원하지 않는다. 현장에서 서버로 육안 검사를 구현하는 경우 사용자는 적절하게 최적화해야 할 수 있는 AI 추론을 위한 특정 GPU를 확보하고 설치하기 위해 많은 설정 비용을 부담해야 한다. AI 수집 파이프라인이 제대로 최적화되지 않으면 많은 GPU가 완료할 작업 없이 실행되어 유휴 상태를 유지하면서 막대한 전력을 소모할 수 있다. 예를 들어 일반 GPU는 약 250W를 소비할 수 있다.
또한, 기존 접근 방식은 사용자의 요구에 맞게 확장하기 어려울 수 있다. 기본 장치에 장애가 발생하거나 고장이 나면 가동 중지 시간이 발생할 수 있으며 이는 사용자에게 많은 비용을 초래할 수 있다.
상당한 비용을 들이지 않고 제조품의 결함 검출에 적합한 수준과 산업 육안 검사 요구사항을 충족하는 속도로 국부 추론을 수행할 수 있는 육안 검사 해결수법이 요망된다.
따라서, 기존 시스템 및 방법의 단점 중 적어도 일부를 극복하는 개선된 육안 검사 시스템 및 방법이 필요하다.
육안 검사를 위한 시스템 및 방법이 제공된다. 이 시스템은 제조 시설이나 현장의 품질 보증 스테이션에서 사용될 수 있다. 상기 시스템은 여기에 설명된 방법 중 하나 이상을 사용하여 제조 또는 제작된 물품의 품질을 평가하고 결정할 수 있다.
물품의 육안 검사를 위한 시스템이 제공된다. 상기 시스템은 검사 중인 물품의 이미지 데이터를 획득하기 위한 카메라, 카메라로부터 이미지 데이터를 수신하고 적어도 하나의 결함 유형을 검출하도록 훈련된 결함 검출 모델을 사용하여 이미지 데이터를 분석하는 노드 컴퓨팅 장치 - 결함 검출 모델은 이미지 데이터를 입력으로 수신하고 검출된 결함을 묘사하는 결함 데이터를 출력으로서 생성하도록 구성된 머신 러닝 기반 객체 검출 모델을 포함함 -, 및 노드 컴퓨팅 장치로부터 결함 데이터를 수신하고 결함 데이터를 허용 오차 데이터와 비교함으로써 결함 데이터가 허용 가능한지 또는 허용되지 않는지를 결정하는 프로그래머블 로직 컨트롤러(programmable logic controller; "PLC") 장치를 포함한다.
상기 시스템은 검사 이미지를 획득하기 전에 검사 중인 물품에 대해 제1 이미징 위치로 카메라를 자율적으로 이동시키기 위한 로봇 아암을 더 포함할 수 있다.
결함 데이터가 수용 불가능하다고 결정하면, 로봇 아암은 검사 중인 물품의 물품 식별자가 카메라의 이미징 구역 내에 있는 물품 식별자 위치로 카메라를 자율적으로 이동하도록 구성될 수 있고 카메라는 물품 식별자의 이미지를 획득하도록 구성된다.
상기 시스템은 물품의 검사 동안 이미징 위치의 미리 결정된 시퀀스를 통해 카메라를 자율적으로 이동시키기 위한 로봇 아암을 더 포함할 수 있다.
상기 시스템은 검사 동안 물품과 맞물려서 회전하도록 구성된 물품 매니퓰레이터를 더 포함할 수 있다.
이미지 데이터는 물품의 회전 동안 획득된 복수의 이미지를 포함할 수 있고, 노드 컴퓨팅 장치는 이미지 스티칭 기술을 사용하여 복수의 이미지로부터 스티칭된 이미지를 구성하도록 이루어지고, 이미지 데이터는 결함 검출 모듈에 스티칭된 이미지로서 제공된다.
상기 시스템은 PLC 장치 및 노드 장치 중 적어도 하나로부터 데이터를 수신하고, 수신된 데이터를 사용하여 시각화를 생성하고, 사용자 인터페이스에 시각화를 표시하기 위한 사용자 제어 장치를 더 포함할 수 있다.
사용자 인터페이스는 PLC 모드 및 노드 장치 모드를 포함할 수 있으며, 여기서 PLC 모드는 PLC 장치 작동의 시각화를 표시하고 노드 장치 모드는 노드 장치 작동의 시각화를 표시한다.
사용자 제어 장치는 PLC 모드와 노드 장치 모드 사이를 자동으로 전환하도록 구성될 수 있다.
노드 컴퓨팅 장치는 검출된 결함이 필요한 수의 연속적인 이미지 프레임에 나타난 것을 확인할 때 결함 데이터를 PLC 장치에 전송하도록 구성될 수 있다.
PLC 장치는 결함 데이터가 수용 불가능한 것으로 결정되면 검사 중지 명령을 생성하도록 구성될 수 있다.
검사 대상 물품의 이미지 데이터를 수신하고, 적어도 하나의 결함 유형을 검출하도록 훈련된 결함 검출 모델을 사용하여 이미지 데이터를 분석하도록 구성된 노드 컴퓨팅 장치를 포함하는 인공 지능(artificial intelligence; "AI") 육안 검사 시스템이 제공되며, 결함 검출 모델은 이미지 데이터를 입력으로 수신하고 검출된 결함을 묘사하는 결함 데이터를 출력으로서 생성하도록 구성된 머신 러닝 기반 객체 검출 모델을 포함한다. AI 육안 검사 시스템은 노드 컴퓨팅 장치에 통신 가능하게 연결되고 노드 컴퓨팅 장치로부터 결함 데이터를 수신하고 결함 데이터를 허용 오차 데이터와 비교하여 결함 데이터가 허용 가능한지 또는 허용 불가능한지를 결정하도록 구성된 프로그래머블 로직 컨트롤러("PLC") 장치를 포함한다.
결함 데이터는 결함 유형, 결함 위치 및 신뢰 수준에 상응하는 결함 클래스를 포함할 수 있다.
결함 검출 모델은 2단계 객체 검출 모델을 포함할 수 있다.
2단계 객체 검출 모델은 제1 단계에서 관심 영역을 생성하기 위한 영역 제안 네트워크를 포함할 수 있으며, 여기서 관심 영역은 객체 분류 및 경계 박스 회귀를 위한 파이프라인 아래로 전송된다.
결함 검출 모델은 인스턴스를 3개 이상의 클래스 중 하나로 분류하기 위해 다중 클래스 분류를 수행하도록 구성될 수 있으며, 여기서 클래스는 2개 이상의 결함 유형을 포함한다.
결함 검출 모델은 가능한 가장 높은 프레임 속도로 실행되도록 수정될 수 있다.
결함 검출 모델은 신경망을 포함할 수 있고, 여기서 신경망은 노드 컴퓨팅 장치에서 실행하기 위해 신경망의 크기를 압축하기 위해 신경망의 층들을 융합함으로써 최적화되었다.
노드 컴퓨팅 장치는 노드 장치가 암호화되고 노드 장치의 파일이 암호화되는 이중 보안 레이어를 포함할 수 있다.
노드 컴퓨팅 장치는 결함 데이터가 허용 불가능하다고 PLC 장치가 결정할 때 업데이트되는 물품에 대한 결함 카운터를 포함할 수 있다.
노드 컴퓨팅 장치는 연속적인 이미지 프레임에 걸쳐 결함을 추적함으로써 검출된 결함이 진정한 검출인지 여부를 결정하도록 추가로 구성될 수 있다.
이미지 데이터는 물품의 회전 동안 획득된 복수의 이미지를 포함할 수 있고, 노드 컴퓨팅 장치는 이미지 스티칭 기술을 사용하여 복수의 이미지로부터 스티칭된 이미지를 구성하도록 이루어지고, 이미지 데이터는 결함 검출 모델에 스티칭된 이미지로서 제공된다.
인공 지능("AI")을 사용하여 물품의 자동 육안 검사 방법이 제공된다. 상기 방법은 카메라를 사용하여 검사 중인 물품의 이미지 데이터를 획득하는 단계, 이미지 데이터를 노드 컴퓨팅 장치에 제공하는 단계, 적어도 하나의 결함 유형을 검출하도록 훈련된 결함 검출 모델을 사용하여 노드 컴퓨팅 장치에서 이미지 데이터를 분석하는 단계 - 결함 검출 모델은 이미지 데이터를 입력으로 수신하고 검출된 결함을 묘사하는 검출 데이터를 출력으로서 생성하도록 구성된 머신 러닝 기반 객체 검출 모델을 포함함 -, 노드 컴퓨팅 장치에서 프로그래머블 로직 컨트롤러("PLC")로 결함 데이터를 전송하는 단계, 및 결함 데이터를 허용 오차 데이터와 비교하여 결함 데이터가 허용 가능한지 또는 허용 불가능한지 여부를 PLC 장치에서 결정하는 단계를 포함할 수 있다.
상기 방법은 노드 컴퓨팅 장치를 사용하여 연속적인 이미지 프레임에 걸쳐 검출된 결함을 추적하는 단계를 더 포함할 수 있다.
노드 컴퓨팅 장치로부터 PLC 장치로 결함 데이터를 전송하는 것은 검출된 결함이 필요한 수의 연속적인 이미지 프레임에 걸쳐 추적됨에 응답하여 수행될 수 있다.
이미지 데이터는 물품의 회전 동안 획득된 복수의 이미지를 포함할 수 있다. 상기 방법은 이미지 스티칭 기법을 사용하여 복수의 이미지로부터 스티칭된 이미지를 구성하고, 이미지 데이터를 스티칭된 이미지로서 결함 검출 모델에 제공하는 단계를 더 포함할 수 있다. 상기 방법은 결함 데이터가 수용 불가능하다고 결정하면 PLC 장치에서 검사 중지 명령을 생성하는 단계를 더 포함할 수 있다. 상기 방법은 결함 데이터가 수용 불가하다고 결정하면 PLC 장치에서 알람 명령을 생성하고 알람을 생성하고 출력하도록 구성된 알람 시스템에 상기 알람 명령을 보내는 단계를 더 포함할 수 있다.
상기 방법은 결함 데이터가 허용 불가능하다고 결정할 때 물품의 검사를 계속하는 단계 및 검출된 결함을 포함하도록 물품에 대한 결함 카운터를 업데이트하는 단계를 더 포함할 수 있다.
상기 방법은 결함 데이터가 허용 불가능하다고 결정하면, 검사 중인 물품의 물품 식별자가 카메라의 이미징 구역 내에 있는 물품 식별자 위치로 카메라를 자율적으로 이동시키는 단계; 및 물품 식별자의 이미지를 획득하는 단계를 더 포함할 수 있다.
상기 방법은 데이터베이스에 물품 식별자와 결함 데이터를 연결하여 저장하는 단계를 더 포함할 수 있다.
일부 대표적인 실시 예의 이하의 설명을 검토하면 다른 실시형태 및 특징이 당업자에게 명백해질 것이다.
여기에 포함된 도면은 본원 명세서의 물품, 방법 및 장치의 다양한 예를 보여주기 위한 것이다.
도 1은 일 실시 예에 따른 AI 육안 검사 시스템의 개략도이다.
도 2는 일 실시 예에 따른 도 1의 육안 검사 시스템의 이미징 유닛의 개략도이다.
도 3은 일 실시 예에 따른 육안 검사 시퀀스의 흐름도이다.
도 4는 일 실시 예에 따른 육안 검사 시퀀스의 방법의 흐름도이다.
도 5는 일 실시 예에 따른, 실시간으로 도 1의 노드 장치(148)의 네트워크(156)를 실행하는 방법의 흐름도이다.
도 6은 일 실시 예에 따른, 도 1의 육안 검사 시스템에 의해 수행되는 물체 검출 방법의 흐름도이다.
도 7은 일 실시 예에 따른 도 1의 육안 검사 시스템에 의해 생성되는 검사된 캠샤프트의 한 대표적인 이미지를 보여주는 도면이다.
도 8은 일 실시 예에 따른, 도 1의 육안 검사 시스템에 의해 생성되는 검사된 캠샤프트의 한 대표적인 이미지를 보여주는 도면이다.
도 9는 일 실시 예에 따른, 도 1의 육안 검사 시스템에 의해 생성되는 검사된 캠샤프트의 한 대표적인 이미지를 보여주는 도면이다.
도 10은 일 실시 예에 따른, 도 1의 육안 검사 시스템에 의해 생성되는 검사된 캠샤프트의 한 대표적인 이미지를 보여주는 도면이다.
도 11a는 일 실시 예에 따른 기계적 검사 서브시스템의 제1 사시도이다.
도 11b는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템의 제2 사시도이다.
도 11c는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템의 평면도이다.
도 11d는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템의 정면도이다.
도 11e는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템의 배면도이다.
도 11f는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템의 측면도이다.
도 11g는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템의 이미징 유닛의 정면도이다.
도 11h는 일 실시 예에 따른 도 11a의 이미징 유닛의 측면도이다.
도 11i는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템의 물품 홀더 및 물품 매니퓰레이터의 정면도이다.
도 11j는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템에 대한 한 대표적인 부품 테이블을 보여주는 도면이다.
도 12는 일 실시 예에 따른, 본 개시내용의 기계적 검사 서브시스템의 정면도이다.
도 13은 일 실시 예에 따른 실시간 스트리밍 비디오 분석 방법의 흐름도이다.
도 14a는 일 실시 예에 따른, 로봇 자동화를 사용하는 기계적 검사 서브시스템의 사시도이다.
도 14b는 도 14a의 기계적 검사 서브시스템의 평면도이다.
도 14c는 도 14a의 기계적 검사 서브시스템의 정면도이다.
도 14d는 도 14a의 기계적 검사 서브시스템의 측면도이다.
도 15는 일 실시 예에 따른, 생산 기계 및 캠샤프트 AI 육안 검사 기계를 포함하는 육안 검사 시스템의 다양한 구성요소 간의 통신을 보여주는 블록도이다.
청구된 각각의 실시 예의 일 예를 제공하기 위해 다양한 장치 또는 프로세스가 이하에서 설명될 것이다. 이하에서 설명되는 실시 예는 청구된 실시 예를 제한하지 않으며 청구된 실시 예는 이하에서 설명되는 것과 다른 프로세스 또는 장치를 커버할 수 있다. 청구된 실시 예는 이하에서 설명되는 임의의 하나의 장치 또는 프로세스의 모든 특징을 갖는 장치 또는 프로세스, 또는 이하에서 설명되는 다수의 또는 모든 장치에 공통적인 특징으로 제한되지 않는다.
여기에 설명되는 하나 이상의 시스템은 프로그램 가능한 컴퓨터에서 실행되는 컴퓨터 프로그램으로 구현될 수 있으며, 각각의 프로그램 가능한 컴퓨터는 적어도 하나의 프로세서, 데이터 저장 시스템(휘발성 및 비-휘발성 메모리 및/또는 저장 요소를 포함함), 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치를 포함한다. 예를 들어 그리고 제한 없이 프로그램 가능한 컴퓨터는 프로그램 가능한 로직 장치, 메인프레임 컴퓨터, 서버, 및 개인용 컴퓨터, 클라우드 기반 프로그램 또는 시스템, 랩톱, 개인 휴대 정보 단말기, 휴대 전화, 스마트폰 또는 태블릿 장치일 수 있다.
각각의 프로그램은 컴퓨터 시스템과 통신하기 위해 고급 절차 또는 객체 지향 프로그래밍 및/또는 스크립팅 언어로 구현되는 것이 바람직하다. 그러나 원하는 경우 프로그램은 어셈블리 또는 기계 언어로 구현할 수 있다. 어떤 경우든 언어는 컴파일되거나 해석된 언어일 수 있다. 각각의 그러한 컴퓨터 프로그램은 바람직하게는 저장 매체 또는 장치가 여기에서 설명되는 절차를 수행하기 위해 컴퓨터에 의해 판독될 때 컴퓨터를 구성 및 동작하기 위해 범용 또는 전용 프로그램가능 컴퓨터에 의해 판독 가능한 장치 또는 저장 매체상에 저장된다.
서로 통신하는 여러 구성요소를 지니는 실시 예에 대한 설명은 이러한 모든 구성요소가 필요하다는 것을 의미하지 않는다. 이와는 반대로, 본 발명의 다양한 여러 가능한 실시 예를 보여주기 위해 다양한 선택적인 구성요소가 설명된다.
또한, 프로세스 단계, 방법 단계, 알고리즘 등이 (본 개시내용 및/또는 청구범위에서) 순차적인 순서로 설명될 수 있지만, 이러한 프로세스, 방법 및 알고리즘은 다른 순서로 작동하도록 구성될 수 있다. 다시 말하면, 설명될 수 있는 단계의 임의의 시퀀스 또는 순서는 단계가 해당 순서로 수행되어야 한다는 요구사항을 반드시 나타내지는 않는다. 여기에서 설명되는 프로세스의 단계는 실용적인 임의의 순서로 수행될 수 있다. 또한, 일부 단계는 동시에 수행될 수 있다.
단일 장치 또는 물품이 여기에서 설명될 때, 둘 이상의 장치/물품(이들이 협력하는지 여부에 관계없이)이 단일 장치/ 물품 대신에 사용될 수 있음을 쉽게 알 수 있을 것이다. 마찬가지로, 둘 이상의 장치 또는 물품이 여기에서 설명되는 경우(그들이 협력하는지 여부에 관계없이), 단일 장치/ 물품이 둘 이상의 장치 또는 물품 대신에 사용될 수 있음을 쉽게 알 수 있을 것이다.
육안 검사를 위한 시스템 및 방법이 여기에서 제공된다. 상기 시스템은 물품을 검사하는 데 사용될 수 있다. 상기 시스템에는 노드 아키텍처가 포함된다. 상기 시스템은 1단계 또는 2단계 객체 검출을 수행할 수 있다. 단일 단계 객체 검출기는 컴퓨터 전력이 덜 필요할 수 있지만 (2단계 검출기에 비해) 정확도는 떨어진다. 2단계 검출기는 훨씬 더 높은 정확도를 위해 컴퓨팅 리소스에 더 많은 비용이 소요될 수 있으며 소형 임베디드 장치 상에서 AI 배치가 직면한 가장 큰 문제 중 하나이었다. 여기에서 제공되는 시스템은 저전력, 소형 컴퓨팅 에지 장치 상에서 객체 검출기의 사용을 설명한다.
도 1을 지금부터 참조하면, 도 1에는 일 실시 예에 따른 육안 검사 시스템(100)이 도시되어 있다. 이러한 육안 검사 시스템(100)은 인공 지능 기술을 사용하여 결함 검출을 수행하도록 구성된다.
육안 검사 시스템(100)은 검사 스테이션(108)에 위치한다.
검사 스테이션(108)은 제조 시설 또는 현장의 품질 보증 스테이션일 수 있다. 품질 보증 스테이션은 제조 또는 제작된 물품의 품질을 평가하고 결정하는 데 사용되는 제조 현장의 스테이션 또는 위치일 수 있다. 품질 보증 스테이션은 품질 평가를 위해 지정된 별도의 스테이션이거나 제조 또는 처리 프로세스의 다른 부분(예컨대: 컨베이어 등)에 통합될 수 있다.
검사 스테이션(108)은 검사 스테이션(108)을 전후로 하여 물품을 운송하기 위한 컨베이어 벨트와 같은 자동 운송 메커니즘을 포함할 수 있다.
변형 예에서, 상기 시스템(100)은 유리하게는 제조 시설에서 기존 프로세스에 대해 인라인으로 배치되도록 구성될 수 있다. 검사 스테이션(108)은 상기 시스템(100)의 구성요소를 포함하도록 구성되는 개조된 컨베이어 유형 시스템일 수 있다. 일 예에서, 상기 시스템(100)의 하나 이상의 실시형태(예컨대, 각각 이하에서 설명되는 기계적 검사 서브시스템(114), 컴퓨팅 시스템(116))는 상기 시스템(100)에 의해 제공되는 육안 검사 특징이 동작에 미치는 영향을 최소화하면서 현장의 기존 프로세스 내로 통합될 수 있도록 상기 자동 운송 메커니즘과 통합될 수 있다.
여기에서 설명되는 예가 제조 현장 또는 시설에서 시스템(100)(및 여기에서 설명되는 다른 시스템)의 통합 및 사용을 언급할 수 있지만, 상기 시스템(100)은 육안 검사가 이루어지는 임의의 현장에서 사용될 수 있음을 이해해야 한다.
육안 검사 시스템(100)은 물품(110)을 검사하는 데 사용된다.
상기 시스템(100)은 물품(110)을 검사하고 물품(110)에 결함이 있는지 여부를 결정한다. 물품(110)은 상기 시스템(100)에 의해 결함이 있는 것 또는 결함이 없는 것으로 분류될 수 있다.
물품(110)을 결함이 있는 것 또는 결함이 없는 것으로 식별함으로써, 육안 검사 결과에 따라 검사된 물품이 차등적으로 처리될 수 있다. 결함이 있는 물품(110)은 폐기되거나 추가 처리에서 제거될 수 있다. 결함이 없는 물품(110)은 추가 처리를 계속할 수 있다.
일반적으로, 물품(110)은 결함이 바람직하지 않은 물품이다. 물품(110)의 결함은 물품(110) 또는 물품(110)이 구성요소인 더 큰 물품(예컨대, 시스템 또는 기계)의 기능 성능을 저하시킬 수 있다. 물품(110)의 결함은 물품의 시각적 매력을 감소시킬 수 있다. 결함이 있는 제품의 발견은 결함이 있는 물품의 판매 및 사용을 방지하고, 결함에 연관된 근본 원인을 파악하여 그 원인을 개선하는 사업에 있어 중요한 단계일 수 있다.
물품(110)은 제작 물품일 수 있다. 물품(110)은 제조 프로세스 동안 결함이 발생하기 쉬운 제조 물품일 수 있다. 물품(110)은 시각적 외관으로부터 일부 가치를 도출하고 특정 결함이 시각적 외관에 부정적인 영향을 미칠 수 있는 물품일 수 있다. 물품(110)의 결함은 물품(110) 자체의 제조 또는 일부 다른 프로세스(예컨대, 운송, 테스트) 중에 발생할 수 있다.
물품(110)은 금속, 강철, 플라스틱, 합성물, 목재, 유리 등과 같은 하나 이상의 재료로 구성될 수 있다.
물품(110)은 크기 및 형상이 균일하거나 불균일할 수 있다.
물품(110)은 복수의 섹션을 포함할 수 있다. 물품 섹션은 물품 하위 섹션으로 더 나뉠 수 있다. 물품 섹션(또는 하위 섹션)은 물품의 외관이나 기능에 기초하여 결정될 수 있다. 물품 섹션은 물품(110)의 더 나은 육안 검사를 용이하게 하고 허용 불가능한 결함이 있는 물품을 더 잘 식별하도록 결정될 수 있다.
물품 섹션은 상이한 기능을 지니는 물품(110)의 상이한 부분에 상응할 수 있다. 다른 섹션은 유사하거나 다른 치수를 지닐 수 있다. 일부 경우에, 물품(110)은 복수의 상이한 섹션 유형을 포함할 수 있으며, 각각의 섹션 유형은 물품(110)에 1회 이상 나타난다. 섹션은 규칙적이거나 불규칙한 형상일 수 있다. 섹션마다 결함 사양이 다를 수 있다(다시 말하면, 특정 결함에 대한 허용 오차).
물품(110)은 그 자체로 사용하도록 의도된 독립형 물품일 수도 있고 더 큰 물품의 구성요소(예컨대, 더 큰 기계의 기계 부품)일 수 있다.
물품(110)은 상기 시스템(100)을 사용하여 검출할 수 있는 다수의 유형 또는 부류의 결함에 취약할 수 있다. 대표적인 결함 유형에는 페인트, 다공성, 찌그러짐, 스크래치, 슬러지 등이 포함될 수 있다. 결함 유형은 물품(110)에 따라 다를 수 있다. 예를 들어, 결함 유형은 물품(110)의 제조 프로세스 또는 재료 조성에 기초하여 물품(110)에 특정할 수 있다. 물품(110)의 결함은 제조 자체 동안 또는 물품(110)의 후속 처리를 통해 획득될 수 있다.
물품(110)은 자동차 및/또는 오토바이용 파워 트레인 부품일 수 있다. 파워 트레인 부품은 캠샤프트, 차동 어셈블리, 변속기 기어, 링키지, 서스펜션 부품, 또는 이들 중 임의의 것의 부품 또는 구성요소일 수 있다.
시스템(100)의 특정 실시 예에서, 물품(110)은 캠샤프트이다. 일반적으로 캠샤프트는 캠이 고정되거나 캠이 일체화된 부분을 이루는 샤프트이다. 캠샤프트은 내연 기관의 기계적 구성요소로서 사용될 수 있다. 캠샤프트는 적절한 시간에 정확하게 정의된 시퀀스로 상기 엔진의 흡배기 밸브를 열고 닫는다.
캠샤프트는 복수의 상이한 구성요소 또는 부품을 포함할 수 있으며, 각각의 상이한 구성요소는 특정 기능을 제공하고 특정 치수를 지닌다. 캠샤프트 구성요소는 저널, 로브, 엔드 및 베어링 중 하나 이상을 포함할 수 있다.
캠샤프트는 상기 시스템(100)을 사용하여 검사하기 위해 섹션으로 나뉠 수 있다. 섹션은 캠샤프트의 다른 구성요소(예컨대, 로브 섹션, 저널 섹션)에 상응할 수 있다. 캠샤프트에는 검사할 섹션이 10~17개 있을 수 있다. 10-17개의 섹션은 로브와 저널을 포함할 수 있다.
상기 시스템(100)은 캠샤프트당 650 내지 1700개의 이미지를 획득하도록 구성될 수 있다. 상기 시스템(100)은 섹션당 50-100개의 이미지 범위에서 획득할 수 있다. 캠샤프트당 13~17개의 섹션이 있을 수 있다. 단면의 경우 캠샤프트가 7.2도 회전할 때마다 이미지를 획득할 수 있다. 이를 통해 2초마다 360도 회전이 가능하면서도 AI 알고리즘은 각각의 섹션의 50-100개 이미지에 걸쳐 결함을 적절하게 추적하기에 충분한 자유도를 허용할 수 있다.
캠샤프트는 로드로부터 돌출된 복수의 장방형 로브를 지니는 실린더 뱅크의 길이를 연장하는 원통형 로드를 포함할 수 있다. 로브의 수는 밸브의 수에 상응할 수 있다(예컨대, 각각의 밸브에 대해 하나의 로브). 메인 저널은 엔진 베이에서 회전할 때 캠샤프트를 제자리에 유지한다.
캠샤프트는 적절한 캠샤프트 재료로 구성될 수 있다. 캠샤프트는 칠드 철 주물(chilled iron casting) 또는 빌렛 강철(billet steel)로 만들 수 있다.
캠샤프트는 캠샤프트 또는 그 구성요소의 제조 프로세스 또는 기타 가공을 통해 결함이 발생하기 쉽다. 결함 유형에는 페인트, 다공성, 슬러지 등이 포함될 수 있다. 캠샤프트의 다른 구성요소 또는 섹션은 다른 유형의 결함을 일으킬 수 있다. 결함은 다른 구성요소에 다르게 영향을 미치거나 영향을 줄 수 있다. 이는 다른 구성요소가 다른 기능을 수행하므로 결함에 대한 허용 오차가 다를 수 있기 때문일 수 있다. 예를 들어, 로브 및 저널에 대한 결함은 다르게 처리되고 허용 오차가 다를 수 있다. 경우에 따라, 구성요소의 하위 섹션에 다른 사양이 있을 수 있다. 예를 들어, (달걀 형상을 이루는) 로브는 로브의 결함 위치에 기초하여 다른 결함 사양을 지닐 수 있다.
어떤 경우에는 캠샤프트의 다공성 사양이 0.4mm만큼 작을 수 있다. 다공성 사양은 위치에 따라 다를 수 있다. 일 예로서, 하기 표 1을 참조하기로 한다.
적용가능 영역 핀홀, 다공성
크기
캠 로브 상단 핀 홀 Ø 최대 0.4mm
다공성 결함 없음
상단 제외 최대 Ø 1.5mm
추력 표면 최 대Ø 2.5mm
VTC 영역 최대 Ø 0.4mm
저널 표면 최대 Ø 2.0mm
기타 최대 Ø 2.5mm
캠샤프트 섹션은 균일하지 않은 형상을 지닐 수 있다. 이로 인해 불규칙한 광 반사가 발생될 수 있다. 경우에 따라 캠샤프트는 녹 방지제(투명)로 덮일 수 있다. 캠샤프트에서 무작위로 슬러지 또는 어두운 오일 방울이 발생할 수 있다. 어떤 경우에는 슬러지가 다공성을 커버할 수 있다. 결함(예컨대, 다공성, 슬러지)은 크기와 형상이 다를 수 있다.
육안 검사 시스템(100)은 기계적 검사 서브시스템(114) 및 컴퓨팅 시스템(116)을 포함한다. 기계적 검사 서브시스템(114) 및 컴퓨팅 시스템(116)은 물품(110)을 검사하기 위해 함께 작동한다.
기계적 검사 서브시스템(114)의 구성요소(예컨대, 액추에이터, 모터, 이미징 유닛)는 컨베이어상에 설치될 수 있다. 구성요소를 컨베이어상에 적용하기 위해 구성요소에 대해 일부 수정이 이루어질 수 있다. 이러한 설정은 예를 들어 아웃-컨베이어가 있는 물품 라인에 사용될 수 있다.
기계적 검사 서브시스템(114)은 검사 전에 물품(110)을 유지하기 위한 물품 홀더(118)를 포함한다. 검사 동안, 물품(110)은 물품 홀더(118)로부터 들어올려진다.
물품 홀더(118)는 제1 및 제2 물품 홀더(118a, 118b)를 포함한다. 물품 홀더(118a, 118b)는 각각 물품(110)의 제1 단부(119a) 및 제2 단부(119b)에나 또는 그 부근에 위치되는 것으로 도 1에 도시되어 있다.
물품 홀더(118)(또는 물품 홀더들(118))의 수 및 위치는 물품(110)(예컨대, 형상, 치수, 무게 등) 또는 다른 설계 선택에 따라 달라질 수 있다. 임의의 적절한 수의 물품 홀더(118)가 사용될 수 있다.
물품 홀더(118)는 필요에 따라 다양한 형상, 크기, 무게, 재료 등의 물품(110)을 수용하도록 수정될 수 있다.
시스템(100)의 다른 변형은 물품(110)이 컨베이어 벨트 등에 있는 동안 상기 시스템(100)에 의해 검사되는 경우와 같이 물품 홀더(118)를 포함하지 않을 수 있다. 그러한 경우에, 컨베이어 벨트 또는 다른 특징은 물품 홀더(118)로서 작용할 수 있다.
기계적 검사 서브시스템(114)은 물품 매니퓰레이터(120)를 포함한다.
물품 매니퓰레이터(120)는 물품(110)과 맞물리고 물품(110)을 조작(다시 말하면, 물품을 이동)하여 검사를 용이하게 한다. 물품 매니퓰레이터(120)는 검사되는 물품 및 이미징 설정에 기초하여 사전에 정의된 방식으로 물품(110)을 조작한다.
물품 매니퓰레이터(120)는 물품(110)이 상기 시스템(100)에 의해 검사되는 동안, 특히 물품(110)이 이미징될 때 물품(110)을 제 위치에 유지하도록 구성된다.
물품 홀더(120)는 검사 동안 물품(110)의 특정 유형의 이동을 허용하거나 제한하도록 구성될 수 있다. 예를 들어, 물품 홀더(120)는 물품(110)의 중심축을 따른 물품(110)의 회전 운동(125)을 허용하면서 x, y 및 z 방향으로의 물품(110)의 움직임을 제한할 수 있다.
물품 매니퓰레이터(120)가 물품(110)을 이동시키는 방식(예컨대, 회전, 수평, 수직 등)은 물품(110)의 형상 및 이미징 유닛의 위치와 같은 다양한 인자에 의존할 수 있다.
일반적으로, 물품 매니퓰레이터(120)는 물품(110)을 조작하여 물품(110)의 일부를 이미징 유닛의 이미징 구역(예컨대, 이하에서 설명되는 이미징 유닛(122)의 이미징 구역(124))에 위치시킨다. 그렇게 함으로써, 물품 매니퓰레이터(120)는, 예컨대 물품(110)의 이전에 노출되지 않은 섹션 또는 서브섹션을 이미징 장비에 노출시킴으로써 전체 물품(110)(또는 전체 물품 섹션)의 이미징 및 검사를 용이하게 할 수 있다.
물품 매니퓰레이터(120)는, 예컨대 스테퍼 모터의 사용에 의해 일련의 단계로 물품(110)을 조작하도록 구성될 수 있다.
물품 매니퓰레이터(120)는 제1 물품 매니퓰레이터(120a) 및 제2 물품 매니퓰레이터(120b)를 포함한다.
제1 및 제2 물품 매니퓰레이터(120a, 120b)는 운동 라인(123)을 따라 이동하도록 구성될 수 있다. 머니퓰레이터(120a, 120b)의 움직임은 모터에 의해 구동될 수 있다.
매니퓰레이터(120a, 120b)는 검사 시작 전에 물품(110)과의 맞물림을 촉진하기 위해 운동 라인(123)을 따라 물품(110)을 향해 이동한다.
물품(110)으로부터 멀어지는 운동 라인(123)을 따른 매니퓰레이터(120a, 120b)의 이동은 물품(110)의 검사가 완료될 때 발생하고 물품(110)의 분리 및 (적재될 때) 새로운 물품의 맞물림을 촉진한다.
제1 물품 매니퓰레이터(120a)는 물품(110)의 제1 단부(119a)와 맞물린다. 제2 물품 매니퓰레이터(120b)는 물품(110)의 제2 단부(119b)와 맞물린다. 제1 및 제2 물품 매니퓰레이터(120a, 120b)는 운동 라인(125)을 따라 물품(110)의 회전을 유발하는 매니퓰레이터(120a, 120b)의 회전 운동을 구동하는 모터에 연결된다.
도 1의 실시 예는 2개의 물품 매니퓰레이터를 보여주지만, 임의의 수의 물품 매니퓰레이터가 사용될 수 있고 물품(110)(크기, 중량, 치수) 및 물품(110)에 부여될 운동 유형에 의해 지시될 수 있다.
다른 실시 예에서, 물품 매니퓰레이터(120)는 로봇 또는 회전 지그를 포함할 수 있다.
기계적 검사 시스템(114)은 물품 로더를 포함할 수 있다. 물품 로더는 도 1에 도시되어 있지 않다. 물품 로더는 검사를 위해 물품(110)을 자동으로 적재 및 하역하도록 구성된다. 물품(110)을 적재하고 하역하는 것은 물품(110)을 물품 홀더(118)에 적재하는 것과 물품을 물품 홀더(118)로부터 하역하는 것을 각각 포함할 수 있다.
일 실시 예에서, 물품 로더는 로봇 장치(예컨대, 포장 로봇)일 수 있다. 로봇 장치는 검사를 위해 물품(110)을 드롭(drop)하고 검사 후에 물품(110)을 피킹(picking)하며 물품을 결함이 있는 물품 슈트(결함이 존재하는 경우) 또는 토트 또는 트레이(결함이 없는 경우)로 전달할 수 있다.
일부 경우에, 물품 로더는 물품(110)을 자동으로 적재할 수 있고 물품(110)은 작업자에 의해 하역될 수 있다. 검사가 포장 전 마지막 프로세스인 경우가 이에 해당될 수 있다.
상기 시스템(100)에 의해 사용되는 물품 로더의 유형은 생산 라인 및 검사되는 물품(110)의 유형에 의존할 수 있다.
기계적 검사 서브시스템(114)은 또한 이미징 유닛(122)을 포함한다. 이미징 유닛(122)은 물품(110)(또는 그 섹션)의 이미지를 캡처한다. 캡처된 이미지는 컴퓨팅 시스템(116)에 제공되고 컴퓨팅 시스템(116)에 의해 분석된다.
이미징 유닛(122)은 이미징 구역(124)을 지닌다. 이미징 구역(124)은 이미징 유닛(122)에 의해 이미지 데이터가 획득되는 영역에 상응하고 이미징 유닛(122)의 FOV(field of view; 시계(視界))에 상응할 수 있다.
일 실시 예에서, 물품(110)은 물품 섹션에 의해 이미징된다. 그러한 경우에, 이미징 유닛(122)은 물품(110)의 제1 섹션이 이미징 구역(124)에 있고 제1 섹션의 이미지가 캡처되는 곳에 먼저 위치된다. 그 다음, 물품(110)의 제2 섹션이 (이미징 유닛(122) 또는 물품(110)을 이동함으로써) 이미징 구역(124)에 배치되고 제2 섹션의 이미지가 캡처된다. 전체 물품(110)이 이미징될 때까지 물품(110)의 연속적인 섹션에 대해 프로세스가 반복될 수 있다. 경우에 따라 각각의 섹션의 여러 이미지가 캡처될 수 있다. 섹션의 여러 이미지는 일련의 이미지를 구성할 수 있다. 예를 들어, 제1 섹션의 다중 이미지가 캡처된 후 제2 섹션의 다중 이미지가 캡처될 수 있다. 일부 경우에, 다중 이미지는 물품(110)의 360도 이미징을 나타낼 수 있다. 그러한 경우에, 다중 이미지 각각은 이전에 이미징되지 않은 물품(110)의 부분을 포함한다.
이미징 유닛(122)은 조명 메커니즘(126), 카메라(128), 및 통신 서브시스템/인터페이스(130)를 포함한다.
조명 메커니즘(126)은 물품(110)상에 광을 비춘다. 조명 메커니즘(126)은 빛나는 광의 초점을 이미징 구역(124)에 맞추거나 빛나는 광을 이미징 구역(124)으로 제한할 수 있다. 조명 메커니즘(126)은 조명 메커니즘(126)과 통신하는 조명 컨트롤러에 의해 제어될 수 있다.
조명 메커니즘(126)은 이미징 구역(124)에서 물품(110)에 균질하거나 균일한 조명을 비추도록 구성될 수 있다. 조명 메커니즘(126)은 또한 물품(110) 상의 음영을 최소화하거나 제거하도록 구성될 수 있다.
조명 메커니즘(126)은 터널 조명, 동축 조명, 또는 돔 조명과 같은 하나 이상의 유형의 조명을 사용할 수 있다.
일 실시 예에서, 조명 메커니즘(126)은 터널 조명 및 동축 조명을 포함한다. 다른 일 실시 예에서, 조명 메커니즘(126)은 터널 조명만을 포함할 수 있다.
조명 메커니즘(126)에 의해 제공되는 조명의 유형 또는 유형들은 이미징 구역(124)에서 물품(110) 상에 균일한 조명을 제공하고 음영을 회피하기 위해 선택될 수 있다.
카메라(128)는 이미징 구역(124)에 배치된 물품(110)을 포함하는 이미징 구역(124)의 이미지 데이터를 캡처하고, 이미지 데이터를 메모리에 저장한다.
카메라(128)는 영역 스캔 카메라일 수 있다. 영역 스캔 카메라는 BASLER 영역 스캔 카메라(예컨대, Basler acA1920-40uc)일 수 있다. 영역 스캔 카메라는 동시에 노출되는 픽셀 라인이 두 개 이상인 직사각형 센서를 포함한다.
일 실시 예에서, 상기 시스템(100)은 복수의 카메라(128)를 지닐 수 있다. 다중 카메라(128)를 사용하면 검사 시간을 줄일 수 있다. 카메라(128)는 각각 자신의 이미징 유닛(122)을 지닐 수 있다. 특정 경우에, 상기 시스템(100)은 각각의 카메라가 물품 섹션들의 절반을 이미징하는 기능을 담당하는 2개의 카메라를 지닐 수 있다. 캠샤프트 육안 검사의 예에서, 카메라는 캠샤프트의 각 단부 상에 배치될 수 있으며 섹션의 절반(예컨대, 총 16개 섹션 중 8개 섹션)의 이미징 기능을 담당할 수 있다. 2대의 카메라 검사를 사용하면 캠샤프트의 전체 검사 시간을 절반으로 줄일 수 있다. 결함 검출은 각각의 카메라에서 획득한 이미지에 대해 독립적인 프로세스로서 수행될 수 있다.
카메라(128)는 통신 서브시스템(130)을 통해 컴퓨팅 시스템(116)에 연결된다. 통신 서브시스템/인터페이스(130)는 카메라(128)의 통신 인터페이스 및 데이터 전송 커넥터(예컨대, USB 3.0 케이블)를 포함할 수 있다.
통신 서브시스템(130)은 데이터를 (카메라(128)에 의해 생성된 이미지 데이터를 포함하여) 컴퓨팅 시스템(116)으로 전송한다. 컴퓨팅 시스템(116)으로 전송된 데이터는 카메라(128)에 의해 생성된 이미지 데이터를 포함한다.
도 2를 지금부터 참조하면, 도 2에는 일 실시 예에 따른 이미징 유닛(122)의 정면도가 도시되어 있다.
이미징 유닛(122)은 조명 메커니즘(126)을 포함한다. 조명 메커니즘(126)은 LED 터널 조명(210) 및 터널 조명(210) 상에 배치된 LED 동축 조명(212)을 포함한다. 다른 일 실시 예에서, 터널 조명(210)은 돔 조명으로 대체될 수 있다. 돔 조명은 로봇 아암(예컨대, 도 14의 로봇 아암(1484))과 같은 로봇 장치에 부착될 수 있다.
터널 조명(210)은 가늘고 긴 원통형 물품(110)(예컨대, 캠샤프트)을 위한 확산 조명을 제공하기 위해 사용될 수 있다. 확산 조명은 음영을 줄이고 물품(110) 상에 균일한 조명을 제공할 수 있다.
동축 조명(212)은 고 반사성 물품(110)(예컨대, 강철로 구성됨)을 이미징하는데 도움을 줄 수 있다. 광은 확산 역광에 의해 생성되고 조명 축이 카메라(128)의 광축과 동일하도록 하프 미러(half-mirror)를 사용하여 물품(110)으로 안내된다. 이는 음영 없는 이미지를 생성하고 반사를 제거할 수 있다.
터널 조명(210)은 제1 조명 케이블(220)을 통해 터널 조명 컨트롤러(214)에 연결된다. 터널 조명 컨트롤러(214)는 제공되는 광량을 포함하여 터널 조명(210)의 동작을 제어한다.
동축 조명(212)은 제2 조명 케이블(218)을 통해 동축 조명 컨트롤러(220)에 연결된다. 동축 조명 컨트롤러(220)는 제공되는 광량을 포함하여 동축 조명(212)의 동작을 제어한다.
동축 조명(212) 상에는 렌즈(222)가 배치된다. 렌즈(222)는 머신 비전 시스템(machine vision system)에 설치하기에 적합한 고해상도 렌즈일 수 있다. 렌즈(222)는 900만 화소 렌즈일 수 있다.
렌즈(222)는 카메라(128)에 연결된다. 카메라(128)는 영역 스캔 카메라이다. 카메라(128)는 물품(110)의 이미지 데이터를 캡처한다.
카메라(128)는 통신 케이블(224)을 통해 물체 검출을 위해 캡처된 이미지 데이터를 노드 장치(148)로 전송한다. 통신 케이블(224)은 USB 3.0 케이블일 수 있다.
도 1을 다시 참조하면, 이미징 유닛(122)은 이미징 유닛 매니퓰레이터(132)에 연결된다. 이미징 유닛 매니퓰레이터(132)는 이미징 유닛(122)의 이미징 구역(124)에 물품(110)(또는 그 일부)을 배치하기 위해 물품(110)에 대해 이미징 유닛(122)을 이동시킨다.
이미징 유닛 매니퓰레이터(132)는 프레임(134)을 포함한다. 프레임(134)은 직립 지지부(136a, 136b) 및 지지부(136a, 136b)에 고정 부착된 트랙(138)을 포함한다. 도 1에 도시된 바와 같이, 트랙은 물품(110)에 실질적으로 나란하게 평행하게 배열될 수 있다.
이미징 유닛 매니퓰레이터(132)는 트랙(138)에 슬라이딩 가능하게 부착된 이미징 유닛 마운트(140)를 포함한다. 이미징 유닛 마운트(140)는 이미징 유닛(122)에 연결되고 이미징 유닛(122)이 마운트(140)를 통해 트랙(138)을 따라 이동될 수 있도록 프레임(134)에 이미징 유닛(122)을 고정하도록 구성된다.
도 1에 도시된 실시 예에서, 이미징 유닛(122)은 물품(110)에 대해 운동 라인(142)을 따라 수평 방향으로 트랙(138)을 따라 이동한다. 변형 예에서, 이미징 유닛 매니퓰레이터(132)는 이미징 유닛(122)을 물품(110)에 대해 수직 방향으로 또는 물품(110)에 대해 수직 및 수평 방향으로 이동시키도록 구성될 수 있다.
다른 실시 예에서, 이미징 유닛(122)은 고정될 수 있고 물품(110)은 물품(110)의 상이한 섹션을 이미징하기 위해 (예를 들어, 물품 매니퓰레이터(120) 또는 컨베이어 벨트를 통해) 이동될 수 있다.
이미징 유닛(122)이 물품(110)에 대해 수평 방향(142)으로 이동할 수 있도록 이미징 유닛 매니퓰레이터(132)를 배열하는 것은 이미징 유닛(122)이 수평축을 따라 물품(110)의 복수 섹션의 이미지 데이터를 편리하게 캡처하는 것을 허용할 수 있다.
이미징 유닛 매니퓰레이터(132)는 전체 물품의 이미지를 캡처하기 위해 물품 매니퓰레이터(120)와 협력하여 동작할 수 있다.
이미징 유닛 매니퓰레이터(132)는 또한 이미징 유닛(122)을 이동시키기 위한 모터를 포함한다. 모터는 스테퍼 모터일 수 있다. 일 실시 예에서, 이미징 유닛 매니퓰레이터(132)는 이미징 유닛(122)을 수직(상하)으로 이동시키기 위한 액추에이터 및 이미징 유닛(122)을 물품(110)의 길이를 따라 수평으로 이동시키기 위한 스테퍼 모터를 포함한다. 액추에이터는 공압 실린더일 수 있다.
상기 시스템(100)의 다른 일 실시 예에서, 기계적 검사 서브시스템(114)은 물품(110)을 이미징하기 위한 로봇 시스템을 포함한다. 로봇 시스템은 로봇 아암 및 컴퓨팅 장치를 포함하는 로봇 아암 컨트롤러를 포함할 수 있다. 일 실시 예에서, 로봇 시스템은 도 14의 로봇 시스템(1482)일 수 있다. 이미징 유닛(122)(카메라(128) 및 조명 메커니즘(126)을 포함함)은 로봇 아암에 장착되거나 달리 부착될 수 있다. 로봇 아암은 이미징 유닛 매니퓰레이터(132), 프레임(134), 직립 지지대(136), 트랙(138), 및 이미징 유닛 마운트(140) 중 어느 하나 또는 그 이상을 대체할 수 있다. 로봇 아암은 3차원으로(다시 말하면, 엄밀하게는 운동 라인(142)을 따라지 않고) 이동될 수 있다. 일반적으로, 로봇 아암은 예컨대 물품(110)의 길이를 따라 물품의 여러 섹션의 이미지를 캡처하기 위해 검사되는 물품(110)에 대해 이미징 유닛(122)(카메라(128) 및 조명 메커니즘(126))을 이동시키는 데 사용된다. 로봇 아암은 자율적으로 기능 할 수 있다(다시 말하면, 카메라/이미징 유닛을 움직이는 것과 같은 움직임을 자율적으로 수행할 수 있음). 예를 들어, 물품(110)의 이미징 동안 수행되는 로봇 아암의 움직임은 로봇 아암 컨트롤러 내에 프로그램될 수 있다. 프로그램된 움직임은 물품의 형상과 크기에 따라 다를 수 있다. 물품(110)을 이미징하기 위한 로봇 아암 움직임은 각각의 물품(110)에 대해 수행되는 일련의 움직임을 포함할 수 있다. 로봇 시스템은 다른 시스템(100)의 구성요소와 통신하기 위한 이더넷/IP 모듈(예컨대, 도 15의 이더넷/IP 모듈(1512))과 같은 통신 인터페이스를 포함할 수 있다. 예를 들어, 로봇 시스템은 이더넷/IP 모듈을 사용하여 생산 기계의 PLC 또는 육안 검사 시스템(100)의 PLC(146)와 통신할 수 있다.
육안 검사 시스템(100)은 상기 시스템(100)의 다양한 제어, 분석 및 시각화 기능을 수행하기 위한 컴퓨팅 시스템(116)을 포함한다. 컴퓨팅 시스템(116)은 육안 검사를 수행하기 위해 컴퓨팅 시스템(116)과 기계적 검사 서브시스템(114) 간 데이터 전송을 용이하게 하기 위해 기계적 검사 시스템(114)에 통신 가능하게 연결된다.
컴퓨팅 시스템(116)은 프로그래머블 로직 컨트롤러(PLC)(146), 노드 장치(148), 및 사용자 제어 장치(150)를 포함한다. 장치(146, 148, 150)는 유선 또는 무선 연결을 포함할 수 있는 서로 통신 가능하게 연결된다. 장치(146, 148, 150)는 유선 또는 무선 네트워크와 같은 네트워크(152)를 통해 서로 연결될 수 있다. 네트워크(152)는 여기에서 설명되는 바와 같이 구성요소들 간의 직접 유선 연결을 포함할 수 있다. 네트워크(152)를 통한 PLC(146)와 같은 다른 구성요소와 기계적 검사 서브시스템(114)의 실시형태의 통신은 기계적 검사 시스템(114)으로부터 네트워크(152)에 이르기까지의 실선으로 표현된다.
PLC(146)는 육안 검사 시스템(100)의 전자기계 프로세스를 자동화하도록 구성된 디지털 컴퓨터이다. PLC(146)는 고 신뢰성 제어 및 프로그래밍 및 프로세스 오류 진단의 용이성을 제공할 수 있다.
PLC(146)는 육안 검사 시스템(100)의 다양한 구성요소 및 동작을 제어하도록 구성된 PLC 컴퓨터 프로그램을 저장하기 위한 메모리(예컨대, RAM 또는 플래시와 같은 메모리) 및 PLC 컴퓨터 프로그램을 실행하기 위한 프로세서를 포함한다. PLC(146)는 시스템(100)의 다른 구성요소를 전후로 하여 데이터(예컨대, 결함 데이터)를 송수신하기 위한 통신 인터페이스를 포함한다.
PLC 컴퓨터 프로그램은 기계적 검사 서브시스템(114)의 하나 이상의 구성요소의 이동 및 동작을 제어하고, 노드 장치(148) 및 사용자 제어 장치(150)와 인터페이스하고, 그리고 노드 장치(148)로부터 수신된 결함 데이터를 처리하기 위한 컴퓨터 실행가능 명령어를 포함한다.
PLC(146)는 또한 도 4의 검사 시퀀스(400)와 같은 검사 시퀀스를 수행하도록 구성된다.
PLC(146)는 PLC 컴퓨터 프로그램을 통해 복수의 액추에이터 및 모터를 제어한다. 액추에이터 및 모터는 기계적 검사 서브시스템(114)의 구성요소를 이동시킨다. 임의의 적절한 수의 액추에이터 및 모터가 사용될 수 있다.
PLC(146)는 수동 또는 자동 모드에서 액추에이터 및 스테퍼 모터를 제어할 수 있다.
액추에이터는 공압 실린더와 같은 실린더일 수 있다.
모터는 스테퍼 모터일 수 있다.
시스템(100)은 제1 액추에이터, 제2 액추에이터, 및 제3 액추에이터를 포함하는 3개의 액추에이터를 포함한다.
제1 액추에이터는 수평 이동을 위한 것이다. PLC(146)로부터의 지시에 따라, 제1 액추에이터는 물품 매니퓰레이터(120a)를 물품의 제1 단부(119a)를 향해 그리고 물품의 제1 단부(119a)로부터 멀어지게 수평으로 이동시킨다.
제2 액추에이터는 수평 이동을 위한 것이다. PLC로부터의 지시에 따라, 제2 액추에이터는 물품 매니퓰레이터(120b)(스테퍼 모터 포함)를 물품(110)의 제2 단부(119b)를 향해 그리고 물품(110)의 제2 단부(119b)로부터 멀어지게 하여 수평으로 이동시킨다.
제3 액추에이터는 수직 이동을 위한 것이다. PLC(146)로부터의 지시에 따라, 제3 액추에이터는 물품(110)에 대해 이미징 유닛(122)을 상하로 이동시킨다.
기계적 검사 서브시스템(114)은 또한 수평 이동 모터 및 회전 운동 모터를 포함하는 2개의 스테퍼 모터를 포함한다.
PLC(146)로부터의 지시에 따라, 수평 이동 모터는 트랙(138)을 따라 이미징 유닛(122)을 수평으로 이동시킨다. 이미징 유닛(122)은 이미징 유닛(122)의 이미징 위치에 상응하여 단계적으로 이동될 수 있다. 이미징 위치는 물품(110)의 섹션에 상응할 수 있다. 이미징 위치는 사전에 정의될 수 있다. 후속 단계 또는 위치로 이동하는 것은 PLC(146)가 상기 시스템(100)의 다른 구성요소로부터(예컨대, 노드 장치(148)로부터) 신호를 수신하거나 이벤트 기반 이동을 사용함에 기초하여 이루어질 수 있다. 예를 들어, 로봇 또는 카메라는 완료되는 제1 섹션에 대한 검출과 같은 이벤트에 기초하여 물품(110)의 제1 섹션으로부터 물품(110)의 제2 섹션으로 이동하도록 지시받을 수 있다.
PLC(146)로부터의 지시에 따라, 회전 운동 모터는 전체 물품(예컨대, 완전 360도)의 검사를 용이하게 하기 위해 물품(110)을 회전시킨다. 물품(110)은 물품(110)의 서브섹션(예컨대, 4도)에 상응하여 단계적으로 회전될 수 있다.
이미징 유닛(122) 및 물품 매니퓰레이터(120a, 120b)는 각각 복귀/홈 위치 및 전진 위치를 지닌다. 홈 위치로 복귀하기 위해, 물품 매니퓰레이터(120a)는 제1 액추에이터에 의해 물품(110)으로부터 수평으로 멀어지게 (좌측으로) 이동된다. 홈 위치로 복귀하기 위해, 물품 매니퓰레이터(120b)는 제2 액추에이터에 의해 물품(110)으로부터 수평으로 멀어지게 (우측으로) 이동된다. 홈 위치로 복귀하기 위해, 이미징 유닛(122)은 제3 액추에이터에 의해 물품(110)으로부터 멀어지게 상방 수직으로 이동된다. 전진 위치로 진행하기 위해, 물품 매니퓰레이터(120a)는 제1 액추에이터에 의해 물품(110)을 향하게 (우측으로) 수평 이동된다. 전진 위치로 전진하기 위해, 물품 매니퓰레이터(120b)는 제2 액추에이터에 의해 물품(110)을 향하게 (좌측으로) 수평 이동된다. 전진 위치로 전진하기 위해, 이미징 유닛(122)은 제3 액추에이터에 의해 물품(110)을 향하게 하방 수직으로 이동된다. 이미징 유닛(122)은 또한 수평 이동 모터를 통해 캠샤프트를 스캔하기 위해 캠샤프트 아래로 수평으로(예컨대, 우측으로부터 좌측으로) 이동한다.
PLC(146)는 기계 상태 데이터를 PLC(146)에 제공하도록 구성된 복수의 센서에 통신 가능하게 연결된다. 기계 상태 데이터는 액추에이터와 같은 서브시스템(114)의 구성요소에 대한 상태 정보 및 물품(110)이 적재되었는지 여부를 제공한다.
PLC(146)는 PLC 컴퓨터 프로그램을 통해 노드 장치(148)와 인터페이스한다. PLC(146)는 TCP 통신 프로토콜을 통해 노드 장치(148)와 통신할 수 있다.
노드 장치(148)로부터 PLC(146)에 의해 수신된 데이터는 결함이 노드 장치(148)에 의해 검출되었는지 여부를 나타내는 코드를 포함한다.
예를 들어, 노드 장치(148)가 결함을 발견하면, PLC(146)는 결함이 물품(110)에서 발견되었고 물품(110)에 결함이 있음(즉, "양호하지 않음")을 나타내는 NG 코드를 노드 장치(148)로부터 수신할 수 있다.
NG 코드는 결함을 묘사하는 결함 데이터를 포함할 수 있다. 결함 데이터에는 결함 유형 또는 클래스(예컨대, 다공성, 슬러지, 페인트, 스크래치, 찌그러짐 등) 및 결함 크기가 포함될 수 있다.
노드 장치(148)가 결함을 발견하지 않으면, PLC는 결함이 발견되지 않았음을 나타내는 OK 코드를 노드 장치(148)로부터 수신할 수 있다.
PLC(146)는 PLC 컴퓨터 프로그램을 통해 노드 장치(148)로부터 수신된 결함 데이터를 처리한다. PLC(146)는 스테퍼 모터로부터 모터 데이터를 수신한다. 모터 데이터는 물품(110)의 섹션을 식별하는 (예컨대, 제1 스테퍼 모터 수평으로부터의) 수평 판독값을 포함할 수 있다. 모터 데이터는 캠샤프트 각도를 식별하는 (제2 스테퍼 모터 회전으로부터의) 회전 판독값을 포함할 수 있다. 캠샤프트 각도는 핀/키홈을 기준으로 이루어질 수 있다. PLC(146)는 모터 데이터를 사용해 물품(110)(캠샤프트)의 정확한 X 및 θ 좌표를 식별한다. 모터 데이터는 섹션 데이터(예컨대, x 좌표 값) 및 각도 데이터(예컨대, θ 좌표 값)를 포함한다. 섹션 데이터는 물품(110)의 특정 섹션(예를 들어, 수평 좌표 값 x에 관련될 수 있음)을 묘사한다. 각도 데이터는 (물품 매니퓰레이터(120)를 기준으로) 특정 물품 각도를 묘사한다(예컨대, 물품 매니퓰레이터(120b)는 스테퍼 모터를 포함하고 물품(110)의 각도를 유지한다). 섹션 데이터와 각도 데이터는 함께 물품(110)의 하위 섹션을 묘사한다. 물품 하위 섹션에는 특정 결함 유형에 대한 허용 오차를 포함하여 특정 결함 사양(즉, 특정 섹션/각도 조합에 대한 특정 결함 사양)이 있다. 공차를 포함한 결함 사양은 PLC(146)에 의해 메모리에 저장되고 특정 섹션 및 각도 조합에 연결된다. 물품의 다른 하위 섹션은 다른 허용 오차를 지닐 수 있다.
위에서 설명된 바와 같이, PLC(146)는 또한 노드 장치(148)에 데이터를 전송하도록 구성된다.
PLC(146)로부터 노드 장치(148)로 전송된 데이터는 검사 코드를 포함할 수 있다. 검사 코드는 노드 장치(148)에 검출를 시작하도록 지시한다. 예를 들어, 물품(110)은 회전 모터에 의해 단계적으로 회전 가능하게 인칭(inching)될 수 있다. 각각의 단계에 대해, PLC(146)는 노드 장치(148)에게 검출을 시작하도록 지시하는 검사 코드를 노드 장치(148)에 보낼 수 있다.
다른 실시 예에서, 컴퓨팅 시스템(116)은 이미지 스티칭 기술을 사용할 수 있다. 예를 들어, PLC(146)는 노드 장치(148)에게 물품(110)의 이미지를 촬영하도록 지시한다. 그 다음 PLC(146)는 물품(110)을 회전식으로 인칭하고(다시 말하면, 물품(110)을 점진적으로 회전시키고) 물품(110)의 다른 이미지를 획득하도록 노드 장치(148)에게 지시한다(다시 말하면, 그럼으로써 제2 이미지의 적어도 일부가 물품(110)의 이전에 보지 못한 부분의 일부이게 한다). PLC(146) 및 노드 장치(148)에 의한 이러한 액션의 프로세스는 물품(110)의 완전 360도가 이미징될 때까지 반복될 수 있다. 물품(110)의 360도 이미징을 나타내는 복수의 이미지는 그 후 이미지 스티칭 기술에 따라 스티칭된 이미지를 구성하기 위해 노드 장치(148)에 의해 함께 스티칭된다. 그리고 나서, 노드 장치(148)는 스티칭된 이미지에 대한 객체 검출을 수행한다. 그러한 경우에, 객체 검출은 스티칭된 이미지에 대한 360도의 마지막 회전에서 노드 장치(148)에 의해 한 번 수행될 수 있다. PLC(146)는 물품(110)의 360도 회전이 완료되면 노드 장치(148)에게 검출을 시작하도록 지시하는 검사 코드를 노드 장치(148)에 전송할 수 있다. 노드 장치(148)는 스티칭된 이미지를 구성하고 물품(110)의 복수의 인접한 섹션에 대한 스티칭된 이미지에 대한 객체 검출을 수행할 수 있다. 이미지 스티칭은 유리하게 스티칭된 이미지에 의해 커버된 물품의 전체 섹션을 나타내는 스티칭된 이미지에 대해 한 번만 추론이 수행되도록 허용할 수 있다. 이미지를 함께 최종의 큰(스티칭된) 이미지로 크로핑(cropping)하는 동작을 통해 상기 시스템에 최고 품질의 이미지가 제공될 수 있다.
PLC(146)로부터 노드 장치(148)로 전송된 데이터는 종료 코드를 포함할 수 있다. 종료 코드는 노드 장치(148)에게 검출을 종료하도록 지시한다. 종료 코드는 새로운 물품(110)이 적재될 때까지 검출을 종료하도록 노드 장치(148)에게 지시할 수 있다.
PLC(146)는 또한 노드 장치(148)에 핸드셰이킹 데이터를 전송하고 노드 장치(148)로부터 핸드셰이킹 데이터를 수신할 수 있다. 핸드셰이킹 데이터는 PLC(146)와 노드 장치(148) 사이에서 교환될 때 장치(146, 148) 사이에 통신 채널을 설정하는 특정 코드를 포함한다.
PLC(146)는 PLC 컴퓨터 프로그램을 통해 사용자 제어 장치(150)와 인터페이스한다. PLC(146)는 서브시스템(114)의 동작 상태를 나타내는 데이터를 사용자 제어 장치(150)에 전송할 수 있다. 이러한 수신된 데이터는 사용자 제어 장치(150)에 의해 시각화될 수 있다. PLC(146)는 또한 사용자 제어 장치(150)로부터 데이터를 수신할 수 있다. 이러한 데이터는 사용자 제어 장치(150)에서 수신된 사용자 입력에 따라 PLC(146) 또는 서브시스템(114)의 동작을 제어할 수 있다.
노드 장치(148)를 지금부터 참조하면, 노드 장치(148)는 에지 컴퓨팅 장치일 수 있다. 노드 장치(148)는 AI 애플리케이션을 실행하고 딥 러닝 작업을 수행하도록 특별히 구성된 에지 장치일 수 있고 이러한 작업을 수행하는 데 적합하거나 적응된 처리 구성요소를 포함할 수 있다.
일 실시 예에서, 노드 장치(148)는 JETSON XAVIER 장치이다.
노드 장치(148)는 안전하고 검사 장소 또는 시설 외부의 장치에 연결할 필요가 없는 에지 해결수법을 제공할 수 있다. 이렇게 하면 데이터가 온프레미스(on premise)로 유지할 수 있게 된다.
노드 장치(148)는 암호화(예컨대, 장치 레벨 암호화)될 수 있다. 노드 장치(148) 상의 파일은 또한 암호화(예컨대, 파일 레벨 암호화)될 수 있다. 이는 이중 보안 레이어를 제공할 수 있다.
일 실시 예에서, 상기 시스템(100)은 노드 아키텍처로 배열된 복수의 노드 장치(148)를 포함할 수 있다. 다수의 노드 장치(148)는 동시에 실행될 수 있고 PLC(146)와 전후해서 통신할 수 있다. 이러한 아키텍처는 사용자를 위한 효율적인 스케일 업(scale up)을 촉진할 수 있다. 노드 아키텍처는 또한 하나의 노드 장치(148)가 고장나거나 파손되는 경우, 작동하지 않는 노드 장치가 교체 노드 장치를 연결함으로써 교체될 수 있으므로 장비 문제로 인한 잠재적인 가동중지시간(downtime)을 줄일 수 있다.
노드 장치(148)는 특히 기존의 에지 기반 수법에 비해 육안 검사 시스템에 연관된 비용을 유리하게 줄일 수 있다. 이러한 기존의 에지 기반 수법은 일반적으로 컴퓨터 하드웨어를 실행해야 하는 일반 Nvidia 또는 유사한 그래픽 카드를 사용할 수 있다.
노드 장치(148)를 사용하여 추론 작업(다시 말하면, 물체 검출, 결함 분류)을 수행함으로써, 육안 검사 시스템(100)은 250W 범위의 드로우(draw)를 지닐 수 있는 GPU를 지니는 대형 서버를 사용하는 기존의 현장 추론 수법에 비하여 전력 소비를 감소시킬 수 있다. 예를 들어, 노드 장치(148)는 30W 범위에서 상당히 낮은 드로우를 지닐 수 있다.
노드 장치(148)는 임베디드 컴퓨팅 장치이다.
노드 장치(148)는 처리 구성요소 및 저장 구성요소를 포함한다.
처리 구성요소는 하나 이상의 CPU 및 GPU를 포함할 수 있다.
저장 구성요소에는 RAM 및 플래시와 같은 메모리가 포함된다.
노드 장치(148)는 또한 PLC(146), 사용자 제어 장치(150), 및 카메라(128)와 통신하기 위한 통신 인터페이스를 포함한다.
노드 장치(148)는 노드 장치(148)의 처리 구성요소에 의해 실행될 때 노드 장치(148)로 하여금 여기에서 설명되는 액션 및 기능을 수행하게 하는 컴퓨터 실행가능 명령어를 포함하는 하나 이상의 컴퓨터 프로그램을 메모리에 저장한다.
노드 장치(148)는 에지에서 인공 지능을 실행하도록 구성된다. 노드 장치(148)를 사용하여 에지에서 AI를 수행하는 것의 이점은 빠른 추론 속도, 이미지 수집과 추론 결과 간의 적은 대기시간, 및 데이터가 프레미스(premise)를 떠나지 않아도 되는 것을 포함할 수 있다.
노드 장치(148)는 PLC(146)와의 통신을 확립하기 위해 PLC(146)로 특정 코드를 송신하고 PLC(146)로부터 특정 코드를 수신하도록 구성된다.
노드 장치(148)는 PLC(146)로부터의 검사 코드를 수신한다. 검사 코드를 수신하면 노드 장치(148)는 객체 검출 파이프라인을 시작한다.
노드 장치(148)는 카메라(128)에 통신 가능하게 연결되고 물품(110)의 이미지를 획득하도록 카메라(128)에게 지시한다. 노드 장치(148)는 API 등을 통해 카메라(128)와 통신할 수 있다.
노드 장치(148)는 결함 검출 모델(154)을 포함한다. 결함 검출 모델(154)은 물품(110)의 이미지 데이터를 분석하고 이미지 데이터의 결함을 식별하도록 구성된 머신 러닝 기반 모델이다. 결함 검출 모델(154)은 이미지 데이터의 결함을 식별하기 위해 객체 검출 기술을 사용한다. 결함 검출 모델(154)은 인스턴스를 3개 이상의 클래스 중 하나로 분류하기 위해 다중 클래스 분류를 수행하도록 구성될 수 있다. 클래스는 결함 검출 모델(154)이 검출하도록 훈련된 상이한 결함 유형에 상응할 수 있다. 클래스에는 적어도 2가지 결함 유형이 포함될 수 있다.
노드 장치(148)는 결함 검출 모델(154)을 훈련, 최적화 및 실행하도록 구성된 소프트웨어 모듈을 포함할 수 있다.
결함 검출 모델(154)은 텐서플로우 객체 검출(TensorFlow Object Detection) API 등과 같은 객체 검출 API를 활용할 수 있다. 객체 검출 API는 객체 검출 모델의 구성, 훈련 및 배포를 용이하게 하는 오픈 소스 프레임워크일 수 있다.
결함 검출 모델(154)은 결함 분류를 수행하도록 구성된다. 결함 분류에는 검출된 결함을 결함 클래스에 할당하는 것이 포함된다. 결함 클래스는 결함 검출 모델(154)이 검출하도록 훈련된 특정 결함 유형(예컨대, 찌그러짐, 페인트, 스크래치 등)에 연관된다. 객체 검출 모델(154)은 (다시 말하면, 모델(154)의 훈련을 통해) 물품(110) 상에 존재할 수 있는 먼지, 슬러지, 오일 및 워터 마크와 같은 이상(異常; anomaly)을 무시하는 방법을 학습하도록 최적화될 수 있다. 객체 검출 모델(154)이 그러한 이상을 무시할 수 있는 능력은 유리하게는 잘못된 경보의 비율을 감소시킬 수 있다.
결함 검출 모델(154)은 이미지 데이터를 분석하여 결함 데이터를 생성한다. 결함 데이터는 결함 유형, 결함 크기, 결함 신뢰 수준 및 결함 위치와 같은 식별된 결함에 관한 정보를 포함한다.
노드 장치(148)는 하나 이상의 저장 구성요소에 결함 데이터를 저장한다. 노드 장치(148)는 추가 처리를 위해 결함 데이터를 PLC(146)에 보낼 수 있다. PLC(146)는 결함 데이터를 처리하고 (허용 오차 범위 외의) 허용 가능하지 않은 결함 또는 (허용 오차 범위 내의) 허용 가능한 결함을 구성하는지 여부를 결정한다.
노드 장치(148)는 시각화를 위해 결함 데이터를 사용자 제어 장치(150)에 보낼 수 있다.
일 실시 예에서, 결함 검출 모델(154)은 신경망(156)을 포함한다. 신경망(156)은 결함이 있고 결함이 없는 물품(110)의 이미지에 대해 훈련된다. 훈련은 공지된 훈련 기술 및 여기에서 설명되는 기술에 따라 수행될 수 있다.
일 실시 예에서, 신경망(156)은 사전 훈련된 모델을 취하는 것, 새로운 데이터로 사전 훈련된 모델을 훈련시키는 것, 모델을 가지치기(pruning), 출력 모델을 생성하기 위해 가지치기된 모델을 재훈련하는 것, 및 엔진(예컨대, TensorRT 엔진 및/또는 최적화된 CUDA 백엔드)에 출력 모델을 통과시키는 것을 포함할 수 있는 추론을 위한 모델 훈련 및 변환을 사용하여 생성된다.
신경망(156)은 더 빠른 R-CNN(Faster Region-based Convolutional Neural Network) 또는 CSPDarknet(53)일 수 있다.
더 빠른 R-CNN은 ResNet 또는 인셉션 분류 백본(Inception classification backbone)을 지닐 수 있다. ResNet은 ResNet 50 또는 ResNet 101일 수 있다. 인셉션은 인셉션 v2일 수 있다.
신경망(156)(예컨대, CSPDarknet53)은 단일 단계 검출기만 있으면서 유사한 2단계 객체 검출 결과를 획득하기 위해 WRC(Weighted-Residual-Connections), CSP(Cross-Stage-Partial-connections), CmBN(Cross mini-Batch Normalization), SAT(Self-adversarial-training) 및 Mish-활성화(Mish-activation)와 같은 새로운 최첨단 기술을 사용할 수 있다.
위에서 설명한 신경망(156)은 노드 장치(148) 상에서 실행되도록 최적화될 수 있다. 최적화는 여기에서 설명되는 최적화 방법에 따라 수행될 수 있다. 최적화에는 커널 자동 튜닝, 레이어 및 텐서 융합, 정밀도 교정(FP32 - FP16), CUDA 최적화, 동적 텐서 메모리 활용 중 하나 이상이 포함될 수 있다. 최적화는 노드 장치(148) 상에서 실행되기 위해 네트워크 크기를 압축하도록 신경망(156)의 층들을 융합할 수 있다. 이는 네트워크(156)가 노드 장치(148) 상에서 효과적으로 실행되는 것을 허용할 수 있어, 에지에서의 국부적인 추론을 허용한다.
노드 장치(148)는 실시간 속도를 허용하기 위해 이미지당 처리 시간을 지닐 수 있다. 노드 장치(148)는 1000(폭) x 1000(높이) 픽셀 이상의 이미지 크기당 대략 25ms 내지 60ms의 이미지당 처리 시간을 지닐 수 있다. 노드 장치(148)가 일반 GPU인 실시 예에서, 이미지당 처리 시간은 5ms 내지 60ms의 범위에 있을 수 있다.
결함 검출 모델(154)은 2단계 객체 검출 모델을 포함할 수 있다. 2단계 객체 검출 모델은 TensorFlow 등과 같은 훈련 프레임워크로 훈련될 수 있다. 2단계 객체 검출 모델은 입력 이미지 크기, 배치 번호(batch number), 1단계 및 2단계 제안 중 어느 하나 또는 그 이상에 대한 수정을 포함할 수 있다. 이러한 수정은 정확도를 가능한 한 높게 또는 수용 가능한 수준으로 유지하면서 모델의 효율성을 향상시킬 수 있다.
2단계 검출 모델은 제1 단계에서 관심 영역을 생성하기 위해 지역 제안 네트워크(Region Proposal Network)를 사용할 수 있다. 이때, 관심 영역은 객체 분류 및 경계 박스 회귀를 위한 파이프라인 아래로 전송된다.
결함 검출 모델(154)이 사전 훈련되면, 신경망(156)의 가중치는 전달 학습을 사용하여 미세 조정될 수 있다. 전달 학습은 데이터 세트의 크기를 줄이고 수용 가능한 결과를 획득하는 동안 총 훈력 시간을 줄일 수 있다.
결함 검출 모델(154)은 매우 큰 데이터세트(예컨대, 1000개의 카테고리가 있는 120만 이미지를 포함하는 ImageNet 또는 COCO(Common Objects in Context))에 대해 사전 훈련된 CNN을 포함할 수 있으며, 그리하여 CNN을 초기화 또는 결함 검출 작업을 위한 고정 특징 추출기로 사용할 수 있다.
전달 학습을 사용한 미세 조정은 CNN의 미세 조정을 포함할 수 있다. CNN의 미세 조정은 새로운 데이터세트에서 CNN 상단의 분류기를 교체 및 재훈련하는 것과 역전파의 속행을 통해 사전 훈련된 네트워크의 가중치를 미세 조정하는 것을 포함할 수 있다. CNN의 모든 레이어는 미세 조정될 수도 있고 이전 레이어 중 일부는 (예컨대, : 과적합(overfitting) 문제로 인해) 고정된 상태로 유지될 수도 있으며 네트워크의 일부 상위 레벨 부분은 미세 조정될 수 있다. 이는 CNN의 초기 기능이 많은 작업에 유용해야 하는 더 일반적인 기능(예컨대, 에지 검출기 또는 컬러 블롭(color blob) 검출기)을 포함하지만 CNN의 나중 레이어가 원본 데이터세트에 포함된 클래스의 세부사항에 대해 점진적으로 구체적이게 된다.
일 실시 예에서, 결함 검출 모델(154)(예컨대, 신경망(156))은 노드 장치(148)(예컨대, Jetson Xavier)상에서 더 효율적으로 실행되도록 수정될 수 있다.
예를 들어, 모델은 가능한 가장 높은 프레임 레이트(FPS)에서 실행되도록 수정될 수 있다. 프레임 레이트는 단일 이미지당 추론의 프레임 레이트를 언급한다. 프레임 속도는 다양한 요인(예컨대, 이미지 크기, 레이어의 수, 앵커 박스(anchor box)의 수, 네트워크 내 알고리즘, 네트워크 내 연산, 부동 소수점 정밀도, 레이어 융합 등)에 의해 결정될 수 있다. 노드 장치(148)에 의한 더 높은 FPS 추론은 산업 제조 검사 프로세스에 더 적합한 레벨로 검사 시간을 감소시킬 수 있다.
결함 검출 모델(154)은 노드 장치(148)에 관한 추론을 위해 최적화될 수 있다.
결함 검출 모델(154)은 TensorRT 또는 OpenCV(CUDA)로 최적화될 수 있다. 최적화는 모델이 과적합되지 않게 하는 최적의 훈련 반복 횟수 후에 그리고 과적합을 줄이기 위해 증강 이미지로 훈련한 후 이루어질 수 있다.
결함 검출 모델(154)의 훈련은 이미지 증강을 포함할 수 있다. 데이터 증강은 입력 이미지의 가변성을 증가시키기 위해 수행될 수 있으며, 그럼으로써 설계된 객체 검출 모델이 상이한 환경에서 획득된 영상에 대해 더 높은 강건성을 지니게 한다. 구현될 수 있는 2가지 증강 전략에는 훈련 객체 검출 모델을 지원하는 측광 왜곡 및 기하학적 왜곡이 포함된다. 측광 왜곡을 처리할 때 이미지의 휘도, 대비, 색조, 채도 및 노이즈가 조정될 수 있다. 기하학적 왜곡의 경우, 임의 크기조정, 크로핑, 플리핑(flipping) 및 회전이 추가될 수 있다. 기타 특수 보강에는 예를 들어 무작위 지우기, 컷아웃, 특징 맵의 드롭아웃/드롭 연결/드롭블록, (2개의 다른 이미지를 통한) 믹스업, CutMix, 모자이크 보강이 포함될 수 있다.
훈련 동안 이미지를 증강함으로써 훈련 세트는 인위적으로 성장될 수 있으며, 이는 결함 검출 모델(154)(객체 검출기)의 일반화 능력의 견고성을 증가시킬 수 있다.
그 후에, 네트워크는 파이썬(python)에서 FP16 정밀도로 노드 장치(148) 상에 실행될 수 있다. 네트워크 최적화는 노드 장치(148) 자체 상에서 실행된다. 이는 현재 실행 시점에서 CUDA로 최적화된 이용 가능한 하드웨어와 커널을 활용하기 때문이다.
사용자 제어 장치(150)는 프로세서, 메모리, 및 출력 인터페이스를 포함한다. 출력 인터페이스는 디스플레이(158)를 포함한다. 사용자 제어 장치(150)는 PLC(146) 및 노드 장치(148)와 같은 시스템(100)의 다른 구성요소로 데이터를 송신하고 상기 구성요소로부터 데이터를 수신하기 위한 통신 인터페이스를 포함한다.
사용자 제어 장치(150)는 또한 오퍼레이터로부터의 입력을 수신하기 위한 입력 인터페이스를 포함한다. 입력 인터페이스는 디스플레이(158) 상의 터치스크린일 수 있다.
일 실시 예에서, 사용자 제어 장치(150)의 디스플레이(158)는 터치 디스플레이 및 고해상도를 지니는 일반 모니터 양자 모두로서 동작 가능하다.
메모리는 결함 데이터를 포함하여 PLC(146) 및 노드 장치(148)로부터 수신된 데이터를 저장한다.
메모리는 또한 사용자 인터페이스(160)를 생성하고 표시하기 위한 하나 이상의 컴퓨터 프로그램을 저장한다. 사용자 인터페이스(160)는 육안 검사 결과의 시각화(162)를 포함한다.
프로세서는 노드 장치(148)로부터 수신된 결함 데이터에 기초하여 시각화(162)를 생성할 수 있다.
일 실시 예에서, 사용자 인터페이스(160)는 PLC 모드 및 노드 장치 모드를 포함할 수 있다. PLC 모드에서, 사용자 인터페이스(160)는 PLC 동작(예컨대, 작동 중인 기계적 검사 서브시스템(114))의 시각화를 생성하고 표시한다. PLC 모드의 시각화는 PLC(146)의 데이터를 사용하여 생성된다. 노드 장치 모드에서, 사용자 인터페이스(158)는 노드 장치 동작(예컨대, 객체 검출)의 시각화를 생성하고 표시한다. 노드 장치 모드의 시각화는 노드 장치(148)의 데이터를 사용하여 생성된다. PLC 모드와 노드 장치 모드 간의 전환은 자동으로(예컨대, 검출이 수행될 때 노드 장치 모드로) 이루어지도록 프로그램될 수도 있고 입력 인터페이스를 통해 운영자로부터의 명령을 수신하는 것을 통해서와 같이 수동으로 이루어질 수도 있다.
일 실시 예에서, 육안 검사 시스템(100)은 일단 결함이 검출(및 확인)되면 물품(110)의 검사를 중지하도록 구성될 수 있다. 이러한 실시 예는 결함이 있는 물품(110)의 불필요한 검사를 제한함으로써 속도 이점을 제공할 수 있다. 예를 들어, 물품(110)이 10개의 섹션을 지니고 결함이 물품(110)의 제3 섹션에서 컴퓨팅 시스템(116)에 의해 식별되면, 육안 검사 시스템(100)은 물품의 검사를 중지하고 나머지 7개의 섹션의 검사를 진행하지 않을 수 있다. 물품(110)이 하역되고 새 물품이 적재되어 검사된다. 일부 경우에, 물품(110)의 검사를 중지하면, 상기 시스템(100)은 (예컨대, 이미징 유닛(122)을 이동시키고 물품 식별자의 이미지를 획득함으로써) 물품(110) 상의 물품 식별자를 판독하여 하역 전에 상기 식별자를 결함 물품에 연관시킬 수 있다. 검사를 중지하는 것은 (예컨대, 검출된 결함이 허용 오차 범위를 벗어난 것으로 결정한 후에) PLC(146)에 의해 개시될 수 있다. PLC(146)는 기계적 검사 서브시스템(114)의 하나 이상의 구성요소에 검사 중지 명령을 보낼 수 있다. 수신 구성요소에 의해 수신 및 처리될 때 검사 중지 명령은 수신 구성요소가 검사 중지를 용이하게 하는 하나 이상의 액션(예컨대, 이미징 유닛(122)를 다른 위치로 이동시키는 것, 물품 매니퓰레이터(120)로부터 물품(110)을 하역하는 것, 검사 영역 밖으로 물품(110)을 이동시키는 것, 물품 홀더(118) 상에 새 물품을 적재하는 것 등)을 수행하게 할 수 있다.
다른 일 실시 예에서, 육안 검사 시스템(100)은 결함이 발견된 후에 속행될 수 있다(다시 말하면, 제1 결함이 식별되고 물품에 결함이 있는 것으로 판정된 후에 중지되지 않는다). 그러한 경우에, 컴퓨팅 시스템(116)은 물품(110) 상에 결함이 발견될(다시 말하면, 이미지 데이터에서 검출될) 때마다 업데이트되는 물품(110)에 대한 결함 카운터를 포함할 수 있다. 결함 카운터는 검사 중인 물품에 대해 검출된 결함의 기록을 유지하도록 구성된다. 결함 카운터를 업데이트하는 것은 새로 검출된 결함에 대한 결함 데이터를 레코드에 추가하는 것을 포함할 수 있다. 결함 카운터는 하나 이상의 소프트웨어 모듈을 포함할 수 있고 노드 장치(148)에 의해 구현될 수 있다. 경우에 따라 객체 추적을 사용하여 결함이 실제 검출로서 확인된 경우에만 결함 카운터가 새 결함으로 업데이트될 수 있다. 결함 카운터는 결함이 PLC(146)에 의해 (예컨대, 임계값과 비교함으로써) 수용 불가능하다고 결정되는 경우에만 새로운 결함으로 업데이트될 수 있다.
육안 검사 시스템(100)은 기존 기술에 비해 물품(110)의 더 빠르고 그리고/또는 더 정확한 육안 검사를 제공할 수 있다.
일부 경우에, 육안 검사 시스템(100)은 (예컨대, 인간이 검사될 때) 일반적으로 그러한 결함을 가릴 수 있는 다른 잡다한 객체(예컨대, 슬러지)가 있는 상태에서 결함(예컨대, 캠샤프트의 다공성)을 검출할 수 있다. 이는 물품(110)이 항상 깨끗하지 않고 물품(110) 상에 기존 수법에서 검출을 방해할 수 있는 물질이 있을 수 있는 제조 및 기타 환경에서 특히 유리할 수 있다.
실시 예는 각각의 섹션에 대해 360도 회전(물품 매니퓰레이터(120)에 의해 제공되는 회전)으로 각각 4도에서 각각의 섹션 내 하위 섹션을 검사할 수 있다. 물품(110)의 각각의 섹션(예컨대, 캠샤프트)에 대해, 물품(110)이 이미지징되고, 특정 각도만큼 회전되고, 다시 이미징될 수 있다. 이는 각각 섹션에 대한 물품(110)의 완전 회전에 대해 수행된다.
일 실시 예에서, 컴퓨팅 시스템(116)에 의해 생성된 결함 데이터는 결함 분석 데이터베이스에 저장될 수 있다. 분석 데이터베이스에 저장된 결함 데이터는 노드 장치(148)로부터 제공될 수 있다. 결함 분석 데이터베이스의 결함 데이터는 물품에서 결함 검출에 대한 더 큰 그림을 공장 관리자 또는 기타 운영자에게 제공하기 위해 분석 목적으로 분석될 수 있다. 예를 들어, 다수의 물품(110)에 대한 결함 데이터는 결함 데이터를 분석하고 경향, 크기 등을 식별하도록 구성된 컴퓨팅 장치에 제공될 수 있다. 분석에는 결함 유형 및 기타 경향을 보기 위한 통계 라이브러리 및 머신 러닝(예컨대, 클러스터링)의 사용이 포함될 수 있다. 이러한 정보를 포함하는 보고서가 생성되어 예를 들어 디스플레이(158)를 통해 운영자에게 표시될 수 있다.
도 3을 지금부터 참조하면, 도 3에는 일 실시 예에 따른 육안 검사 시퀀스(300)가 도시되어 있다. 시퀀스(300)는 도 1의 시스템(100)에 의해 수행될 수 있다.
310에서 시퀀스가 시작된다.
312에서, 물품(110)은 물품 홀더(118) 상에 적재된다.
314에서, 물품 매니퓰레이터(120)는 물품(110)과 맞물린다. 이는 물품 매니퓰레이터(120)가 검사 동안 물품(110)을 이동(예컨대, 회전)하게 할 수 있다.
316에서, 이미징 유닛(122)은 제1 이미징 위치로 이동된다. 이미징 유닛(122)은 이미징 유닛 매니퓰레이터(132)를 통해 이동된다.
318에서, 이미징 유닛(122)의 카메라(128)는 현재 이미징 위치에서 물품(110)의 이미지를 캡처한다.
320에서, 이미지는 카메라(128)로부터 노드 장치(148)로 전송된다.
322에서, 노드 장치(148)는 물품(110)의 결함을 검출하기 위해 수신된 이미지에 대한 객체 검출을 수행한다. 객체 검출은 결함 검출 모델(154)을 사용하여 수행된다. 이미지는 결함 데이터를 생성하기 위해 분석된다.
324에서, 이미지에 대한 결함 데이터가 PLC(146)로 전송된다.
326에서, PLC는 결함 데이터가 사전에 정의된 허용 오차 범위 내에 있는지 여부를 결정한다. 사전에 정의된 허용 오차는 PLC(146)에 허용 오차 데이터로서 저장된다. 326에서의 결정은 결함 데이터 중의 일부 또는 전부를 허용 오차 데이터와 비교하거나 참조하는 것을 포함할 수 있다.
328에서, 결함 데이터가 사전에 정의된 허용 오차 범위 내에 있지 않다면, 물품(110)에 결함이 있는 것으로 식별되고 검사가 종료된다.
330에서, 이미징 유닛(122)은 이미징 유닛 매니퓰레이터(132)를 통해 시작 위치 또는 홈 위치로 다시 이동된다. 일단 홈 위치로 되돌아가면, 시퀀스는 다른 물품(110)에 대해 310에서 프로세스를 시작하기 위해 되돌아갈 수 있다.
332에서, 결함 데이터가 326에서 사전에 정의된 임계값 내에 있으면, PLC(146)는 이미징될 물품(110)의 다른 섹션이 있는지 여부를 결정한다.
334에서, 이미징될 다른 섹션이 있는 경우, 이미징 유닛(122)은 이미징 유닛 매니퓰레이터(132)를 통해 이미징되지 않은 섹션에 상응하는 제2 이미징 위치로 이동된다.
일단 이미징 유닛(122)이 제2 이미징 위치로 이동되면, 프로세스(300)는 318로 되돌아가고 현재 이미징 위치(다시 말하면, 제2 이미징 위치)에서 물품(110)의 이미지가 캡처되고 프로세스가 재개된다.
이미징될 물품(110)의 다른 섹션이 없는 경우 검사는 328에서 종료된다. 330에서, 이미징 유닛(122)은 홈 위치로 다시 이동되고 310에서 새로운 검사가 시작될 수 있다.
도 4를 지금부터 참조하면, 도 4에는 일 실시 예에 따른 육안 검사 시퀀스(400)가 도시되어 있다. 상기 검사 시퀀스(400)는 도 1의 육안 검사 시스템(100)에 의해 수행될 수 있다.
410에서, 검사 시퀀스(400)가 시작된다.
412에서, PLC(146)는 TCP 포트와의 통신을 확립한다. 이는 상기 검사 시스템(100)을 시작할 때 이루어질 수 있다.
414에서, 특정 코드를 송수신함으로써 PLC(146)와 노드 장치(148) 간에 핸드셰이킹이 수행된다. 핸드셰이킹은 PLC(146)와 노드 장치(148) 간의 통신을 개시한다. 핸드셰이킹은 한 장치가 통신 채널을 확립하기를 원한다는 메시지를 다른 장치에 보낼 때 시작된다. 2개의 장치(146, 148)는 그 후 그들이 통신 프로토콜에 동의할 수 있게 하는 메시지를 전후로 전송한다.
416에서, 핸드셰이킹이 완료된 후에, 노드 장치(148)는 검사 코드를 수신하기 위해 PLC(146)를 계속 청취한다. 검사 코드는 카메라(128)의 이미징 구역(124)에서 물품(110)에 대한 검사를 수행하도록 노드 장치(148)에게 지시한다.
418에서, 물품(110)은 물품 홀더(118) 상에 적재된다. 물품(110)은 수동으로, 또는 자동으로 적재될 수 있다. 자동 적재에는 컨베이어 등과의 통합이 포함될 수 있다.
420에서, 제1 물품 매니퓰레이터(120a)는 물품(110)을 향해 이동하면서 전진한다. 제1 물품 매니퓰레이터(120a)는 제1 액추에이터(중앙 1)를 통해 이동된다.
422에서, 제2 물품 매니퓰레이터(120b)는 물품(110)을 향해 이동하면서 전진한다. 제2 물품 매니퓰레이터(120b)는 제2 액추에이터(중앙 2)를 통해 이동된다.
424에서, 제2 물품 매니퓰레이터(120b)의 회전 운동 모터(모터 2)가 회전하여 물품(110)의 핀을 키홈(예컨대, 도 11i의 항목 14)으로 맞물린다.
426에서, 카메라(128)는 카메라(128)가 제1 검사 위치에 도달할 때까지 하측으로 이동된 다음 좌측으로 이동된다.
428에서, 제2 물품 매니퓰레이터(120b)의 회전 운동 모터(모터 2)가 물품(110)을 단계적으로 인칭하기 시작한다. 각각의 단계에 대해 검사 코드가 객체 검출을 시작하도록 노드 장치(148)로 전송된다. 다른 실시 예에서, 검사 코드는 사전에 결정된 수의 회전 단계의 완료 시(예컨대, 360도 회전의 완료 시) 노드 장치(148)로 전송될 수 있다. 이러한 실시 예에서, 객체 검출은 단계에 상응하는 복수의 이미지로부터 구성되는 스티칭된 이미지에 대해 수행될 수 있다.
430에서, 물품(110)의 이미지가 캡처된다. 이미지는 (예컨대, 결함 검출 모델(154)을 통해) 이미지의 결함을 검출하기 위해 AI 알고리즘을 사용하여 노드 장치(148)에 의해 분석된다.
432에서, 제2 물품 매니퓰레이터(120b)의 회전 운동 모터(모터 2)는 물품(110)이 카메라(128)에 의해 이미징되는 동안 물품(110)을 360도 회전시킨 상태를 유지한다.
434에서, 카메라(128)는 제2 검사 위치로 이동되고 제2 물품 매니퓰레이터(120b)의 회전 운동 모터(모터 2)는 물품(110)을 또 다른 360도 회전시킨다. 일 실시 예에서, 카메라(128)(이미징 유닛(122))는 스테퍼 모터를 통해 이동된다. 다른 일 실시 예에서, 카메라(128)(이미징 유닛(122))는 로봇 아암(예컨대, 도 14의 로봇 아암(1484))을 사용하여 이동된다.
436에서, 검사는 연속적인 검사 위치로 이동하여 속행되고 물품(110)의 각각의 섹션의 검사가 완료될 때까지 검사가 수행된다.
438에서, PLC(146)는 노드 장치(148)에 종료 코드를 전송한다. 종료 코드는 노드 장치(148)에게 새로운 물품(110)이 물품 홀더(118) 상에 적재될 때까지 검출를 종료하도록 지시한다.
440에서, 노드 장치(148)가 결함을 발견할 때마다, 노드 장치(148)는 결함 유형(예컨대, 다공성, 슬러지 등) 및 결함 크기를 포함하는 결함 데이터를 PLC(146)에 전송한다.
결함이 발견되면 노드 장치(148)로부터 PLC(146)로 NG 코드가 전송된다.
결함이 발견되지 않으면 노드 장치(148)로부터 PLC(146)로 OK 코드가 전송된다. OK 코드는 검사 중인 물품(110)의 섹션에서 어떠한 결함도 식별되지 않았음을 나타낸다.
442에서, PLC(146)는 PLC(146)에 저장되어 있는 수신된 결함 데이터 및 결함 사양을 사용하여 결함이 NG(양호하지 않음, 결함 확인) 또는 OK(결함 거부) 인지를 결정한다. 결함 사양은 수평 섹션 값 및 각도 값에 연결된 물품(110)의 특정 섹션에 대한 허용 오차를 포함한다.
PLC(146)는 수평 이동 모터(예컨대, 카메라(128)를 포함한 이미징 유닛(122)을 이동시키기 위한 스테퍼 모터 1)로부터 제공될 수 있는 섹션을 식별하는 수평 판독값 및 (핀/키홈을 기준으로) 물품 각도를 식별하는, 제2 물품 매니퓰레이터(120b)의 회전 운동 모터(스테퍼 모터 2)로부터의 회전 판독값에 기초하여 결정을 내린다. PLC(146)는 특정 섹션/각도 조합에 대한 결함 사양에 따라 결함이 NG 인지 또는 OK 인지를 결정한다.
444에서, PLC가 부품이 NG 라고 결정하면, 상기 시스템(100)은 정지하고 경보를 발생시킨다. 정지 및/또는 경보 발생은 PLC(146)에 의해 생성되는 정지 명령 및 경보 명령에 따라 수행된다. 예를 들어, PLC(146)는 알람 명령을 생성하고 알람 명령을 수신하면 알람을 생성하거나 출력하도록 구성된 알람 시스템에 알람 명령을 전송할 수 있다.
446에서, 노드 장치(148)로부터 OK 코드를 수신함으로써나 또는 노드 장치(148)에 의해 식별된 결함이 허용된 범위/허용 오차 범위 내에 있는 것으로 결정함으로써 PLC(146)가 물품(110)이 OK 이라고 결정하면, 검사는 속행된다.
448에서, 이미징 유닛(122) 및 물품 매니퓰레이터(120a, 120b)는 역순으로 홈 위치로 이동한다. 이는 좌측으로 이동하는 제1 액추에이터(중앙 1), 우측으로 이동하는 제2 액추에이터(중앙 2), 우측 상방으로 이동하는 이미징 유닛(122)을 포함할 수 있다.
450에서 검사된 물품(110)은 물품 홀더(118)로부터 하역된다.
452에서, 새로운 물품(110)이 물품 홀더(118) 상에 적재된다.
일 실시 예에서, PLC(146)가 물품(110)이 NG 인 것으로 결정할 때, 이미징 유닛 매니퓰레이터(132)(또는 로봇 아암)는 카메라(128)를 물품 식별자 위치로 이동시키고, 여기서 캠샤프트 상의 물품 식별자는 카메라(128)의 이미징 구역(124) 내에 있다. 물품 식별자의 이미지는 카메라(128)에 의해 캡처될 수 있다. 물품 식별자는 물품(110) 상의 고유 식별자(예컨대, 물품(110) 상에 에칭됨)이다.
일 실시 예에서, 물품 식별자는 2D 데이터 매트릭스이다. 2D 데이터 매트릭스는 QR 코드와 유사할 수 있다. 검출된 결함(예컨대, 결함 데이터)이 물품(110)의 일련번호(물품 식별자)에 연관될 수 있도록 물품(110)은 카메라(128)에 나란한 2D 매트릭스를 가져오기 위해 회전된다. 결함 및 일련번호는 데이터베이스에 저장될 수 있다. 결함 및 일련번호는 데이터베이스에 연결될 수 있다. 그러한 데이터의 저장은 어떤 특정 물품에 결함이 있는 것으로 발견되었고 그 이유가 무엇인지에 대한 기록을 유리하게 제공할 수 있다. 이러한 데이터는 또한 결함의 경향이나 근본 원인을 결정하기 위한 결함 검출 분석 프로세스의 입력으로 사용될 수 있다.
도 5를 지금부터 참조하면, 도 5에는 일 실시 예에 따른 실시간으로 도 1의 노드 장치(148)의 네트워크(156)를 실행하는 방법(500)이 도시되어 있다. 상기 방법(500)은 노드 장치(148)에 의해 구현될 수 있다.
508에서, 상기 방법이 시작된다.
510에서, 노드 장치(148)는 Basler 카메라 클래스의 인스턴스를 생성하고 로드한다(소프트웨어 API는 Basler의 오픈 소스 깃허브(open source github)에 의해 제공됨).
512에서, 선택한 객체 검출 모델이 특정 TensorRT 라이브러리 및/또는 최적화된 openCV CUDA 백엔드를 이용하여 GPU 메모리에 로드된다.
514에서, 객체 검출이 시작된다.
도 6을 지금부터 참조하면, 도 6에는 일 실시 예에 따른 육안 검사 시스템(100)에 의해 수행되는 객체 검출 방법(600)이 도시되어 있다. 상기 방법(600)은 도 1의 노드 장치(148)에 의해 수행될 수 있다.
상기 방법(600)은 도 5의 방법(500)의 단계(514)에서 구현될 수 있다.
610에서 상기 방법이 시작된다.
612에서, 카메라(128)로부터 이미지 프레임이 포착된다.
614에서, 포착된 이미지가 사전 처리된다. 네트워크(156)용으로 이미지를 준비하기 위해 사전 처리가 수행된다.
이미지를 사전 처리하는 것은 크로핑, 넘파이(numpy) 배열로의 변환, 픽셀 값을 int8 포맷으로 변경하기, BGR 포맷을 RGB 포맷으로 변경하기, 쌍선형 보간을 사용한 크기 조정 중 어느 하나 또는 그 이상을 포함할 수 있다.
616에서, 사전 처리된 이미지는 신경망(156)을 통해 전달된다. 네트워크(156)를 통해 이미지를 전달하면 클래스 및 신뢰도 점수를 지니는 경계 박스(bounding box)가 생성된다. 경계 박스는 이미지에 위치한 객체(결함)를 둘러싼다. 클래스는 결함 유형에 상응한다.
618에서, 614에서 획득한 경계 박스는 사전 처리 기능부에서의 크기 조정 후에 이미지가 자신의 원래 크기로 다시 스케일-업될 때 특정 이미지 치수로 적절하게 변환되도록 사후 처리된다.
620에서, 노드 장치(148)는 검출된 각각의 객체를 추적한다. 여기에는 복수의 이미지 프레임에 걸쳐 검출된 결함을 추적하는 것이 포함된다. 이러한 방식으로 결함을 추적하면 검출된 결함이 실제로는 일회성의 잘못된 검출이 아니라 결함이라는 더 큰 확실성을 제공할 수 있다.
추적을 통해 알고리즘은 위양성(false positive) 검출 및 임의의 일회성 검출을 줄일 수 있다.
622에서, 각각의 개별 결함을 추적하는 동안, 추적된 결함에 대한 크기 정보는 결함이 보이는 모든 프레임에 걸쳐 저장된다.
624에서, 노드 장치(148)는 추적된 객체가 단일 프레임을 드롭하지 않고 최소 개수의 N개의 연속 프레임 동안 나타나는지를 결정한다.
626에서, 추적된 객체가 단일 프레임을 드롭하지 않고 최소 개수의 N개의 연속 프레임 동안 보인 경우, 검출된 객체는 진정한 검출로서 계산된다.
일단 검출이 진정한 검출로 간주 되면 결함이 나타난 모든 프레임에 걸친 크기 정보를 사용하여 결함의 평균 크기가 계산된다. 이러한 기술은 경계 박스 크기 조정으로부터의 분산을 줄일 수 있다.
628에서, 진정한 검출을 위한 결함 데이터가 PLC(146)로 전송된다. 결함 데이터는 결함 크기, 결함 위치 및 결함 클래스 중의 어느 하나 또는 그 이상을 포함할 수 있다. 결함 데이터는 소켓을 통해 TCP/IP를 거쳐 노드로부터 PLC(146)로 전송될 수 있다.
결함 데이터가 PLC에 의해 수신되면 PLC는 스테퍼 모터 각도를 기록하고 결함 크기를 (회전에 관련된) 그러한 특정 섹션의 허용 오차 및 물품(110)의 위치에 관련시킨다.
결함 위치는 경계 박스 좌표 x0,y0,x1,y1을 사용하여 PLC(146)로 전송된다. PLC(146)는 결함 위치 정보를 사용하여 그러한 특정 섹션(예컨대, 검사되는 캠샤프트의 특정 로브 또는 저널) 상에서 결함이 발견된 위치를 정확히 지적할 수 있다.
630에서, 추적된 객체가 최소 개수의 N개의 연속 프레임 동안 보이지 않으면, 검출이 오검출로서 카운트된다.
632에서, 오검출 대상인 객체는 무시된다(다시 말하면, 결함 데이터가 PLC로 전송되지 않는다).
634에서, 프로세스가 종료된다. 단계 612 내지 632는 물품(110)의 검사가 완료될 때까지 반복될 수 있다.
도 7 내지 도 10을 지금부터 참조하면, 도 7 내지 도 10에는 도 1의 육안 검사 시스템(100)의 일 실시 예에 의해 생성된 대표적인 육안 검사 이미지가 도시되어 있다. 시스템(100)의 실시 예는 캠샤프트를 이미징하고 내부에서 페인트 및 다공성 결함 유형을 검출하도록 구성되었다.
이미지는 이미징 유닛(122)에 의해 획득되었고, 결함을 검출 및 분류하기 위해 객체 검출 기술을 사용하여 노드 장치(148)에 의해 처리되었으며, 사용자 제어 장치(150)를 통해 표시되었던 이미지를 나타낸다. 이미지는 추가 검토 및 분석을 위해 노드 장치(148) 및/또는 사용자 제어 장치(150)에 의해 저장될 수 있다.
이미지(700, 800, 900, 1000)는 사용자 제어 장치(150)를 통해 시스템(100)의 운영자에게 표시될 수 있다.
도 7의 이미지(700)는 도 1의 시스템(100)에 의해 검사된 캠샤프트(710)(다시 말하면, 도 1의 물품(110))을 보여준다. 특히, 이미지(700)는 캠샤프트(710)의 섹션(712) 상에서 수행된 육안 검사 동작의 결과를 보여준다. 섹션(712)은 도 1의 물품(110)을 참조하여 묘사된 바와 같은 물품 섹션에 상응한다. 시스템(100)은 페인트 및 다공성 결함을 검출하도록 구성된다.
시스템(100)은 그의 캡처된 이미지 데이터에 기초하여 캠샤프트(710)에서 3개의 결함을 식별하였다. 결함은 경계 박스(714, 716, 718)로 둘러싸여 있다. 결함은 경계 박스(714)에 포함된 제1 페인트 결함, 경계 박스(716)에 포함된 제2 페인트 결함, 및 경계 박스(718)에 포함된 다공성 결함을 포함한다.
경계 박스(714, 716, 718)는 객체 검출 동안 노드 장치(148)에 의해 생성된다.
도시된 바와 같이, 사용자 제어 장치(150)는 고유한 컬러 표시자를 각각의 상이한 결함 유형에 연관시키도록 구성될 수 있다. 예를 들어, 특정 결함 유형을 에워싸는 경계 박스에 특정 컬러가 주어질 수 있다. 이는 사용자가 이미지(700) 내에 존재하는 상이한 유형의 결함을 더 쉽게 식별하고 구별하는 것을 허용할 수 있다. 이미지(700)의 예에서, 녹색 컬러는 페인트 결함 유형에 관련된 표시된 정보에 연관되고 적색 컬러는 다공성 결함 유형에 관련된 표시된 정보에 연관된다. 다른 실시 예는 결함 유형을 구별하기 위해 다른 유형의 고유 표시자를 이용할 수 있다.
이미지(700)의 각각의 결함은 그와 연관된 결함 데이터(720)를 지닌다.
결함 데이터(720)는 객체 검출 프로세스 동안 노드 장치(148)에 의해 생성 및 저장된다. 결함 데이터(720)는 노드 장치(148)로부터 사용자 제어 장치(150)로 전달될 수 있다. 사용자 제어 장치(150)는 결함 데이터(720)를 저장하고 결함 데이터(720)를 표시하는 시각화를 생성하도록 구성된다.
이미지(700)에서, 사용자 제어 장치(150)는 결함 데이터(720)가 동일한 결함의 경계 박스와 연결되도록 결함 데이터(720)를 표시하여, 사용자가 특정 식별된 결함에 관련된 결함 데이터(720)를 식별하는 것을 용이하게 한다.
결함 데이터(720)는 결함 유형(또는 클래스)(722), 결함 신뢰 수준(724), 결함 크기(726) 및 결함 위치(728)를 포함한다. 상기 시스템(100)의 변형은 더 많거나 더 적은 유형의 결함 데이터(720)를 포함할 수 있다. 이러한 정보는 각각의 대응하는 결함을 사전에 정의된 캠샤프트 결함 허용 오차와 비교하는 방법을 이해하기 위해 PLC(146)에 의해 사용될 수 있다.
결함 유형(722)은 검출된 결함 유형을 포함한다. 이미지(700)의 결함 유형에는 페인트 결함 유형 및 다공성 결함 유형이 포함된다.
결함 신뢰 레벨(724)은 객체 검출 및 분류(다시 말하면, 결함 유형(722)을 결함에 할당하기 위한 객체 검출 및 분류)에 대한 신뢰 레벨을 나타낸다.
결함 크기(726)는 특정 측정 단위의 결함 크기를 나타낸다. 이미지(700)의 결함 크기(726)는 밀리미터 단위이다.
결함 위치(728)는 결함의 위치를 나타낸다. 결함 위치에는 (x,y) 좌표가 포함된다.
AI가 결함을 검출하는 데 여전히 신뢰를 얻고 있는 검사 초기 단계 동안 운영자가 결함을 AI로 실시간 보는 것이 중요할 수 있다. AI가 더 많은 부품을 검사할수록 이는 더 많은 결함을 더 신뢰성 있게 식별하는 방법을 수집하고 학습한다. AI의 성능이 인간의 능력을 훨씬 능가하기 때문에 AI가 더는 인간에 의해 주시되지 않아도 되는 시점이 올 수 있다.
도 8의 이미지(800)는 도 7의 이미지(700)를 생성하기 위해 사용된 시스템(100)의 실시 예에 의해 검사된 다른 캠샤프트(810)를 보여준다. 특히, 이미지(800)는 캠샤프트(810)의 섹션(812) 상에서 수행된 육안 검사 동작의 결과를 보여준다.
이미지(800)는 섹션(812) 내 페인트 결함 및 다공성 결함을 보여준다. 페인트 결함은 제1 경계 박스(814)에 의해 윤곽이 나타나게 된다. 다공성 결함은 제2 경계 박스(818)에 의해 윤곽이 나타나게 된다.
페인트 결함 및 다공성 결함은 각각 그들에 연관된 결함 데이터(820)를 지닌다. 결함 데이터(820)는 객체 검출 동안 노드 장치(148)에 의해 생성된다.
도 9의 이미지(900)는 도 1의 시스템(100)에 의해 검사된 또 다른 캠샤프트(910)를 보여준다. 특히, 이미지(900)는 캠샤프트(910)의 섹션(912) 상에서 수행된 육안 검사 동작의 결과를 보여준다.
이미지(900)는 섹션(912) 내 페인트 결함과 다공성 결함을 보여준다. 페인트 결함은 제1 경계 박스(914)에 의해 윤곽이 나타나게 된다. 다공성 결함은 제2 경계 박스(918)에 의해 윤곽이 나타나게 된다.
페인트 결함 및 다공성 결함은 각각 이들에 연관된 결함 데이터(920)를 지닌다. 결함 데이터(920)는 객체 검출 동안 노드 장치(148)에 의해 생성된다.
도 10의 이미지(1000)는 도 1의 시스템(100)에 의해 검사된 또 다른 캠샤프트(1010)를 보여준다. 특히, 이미지(1000)는 캠샤프트(1010)의 섹션(1012) 상에서 수행된 육안 검사 동작의 결과를 보여준다.
이미지(1000)는 섹션(1012) 내 페인트 결함 및 다공성 결함을 보여준다. 페인트 결함은 제1 경계 박스(1014)에 의해 윤곽이 나타나게 된다. 다공성 결함은 제2 경계 박스(1016)에 의해 윤곽이 나타나게 된다.
페인트 결함 및 다공성 결함은 각각 그들에 연관된 결함 데이터(1020)를 지닌다. 결함 데이터(1020)는 객체 검출 동안 노드 장치(148)에 의해 생성된다.
도 11a 내지 도 11i를 지금부터 참조하면, 도 11a 내지 도 11i에는 일 실시 예에 따른 본 개시내용의 육안 검사 시스템의 기계적 검사 서브시스템의 여러 뷰(view)가 도시되어 있다. 육안 검사 시스템은 캠샤프트의 검사에 적합하다. 육안 검사 시스템(100)은 도 1의 육안 검사 시스템(100)의 일 실시 예일 수 있다. 기계적 검사 서브시스템은 도 1의 기계적 검사 서브시스템(114)일 수 있다. 도 11a 내지 도 11i의 기계적 검사 서브시스템은 여기에서 설명되는 기술에 따른 육안 검사를 수행하도록 구성된 도 1의 컴퓨팅 시스템(116)과 같은 컴퓨팅 시스템에 통신 가능하게 연결될 수 있다.
도 11a 내지 도 11i에 제공된 참조번호는 도 11j의 부품 테이블(1100j)에서 발견되는 부품번호에 상응한다.
도 11a는 일 실시 예에 따른 기계적 검사 서브시스템의 제1 사시도(1100a)를 보여준다.
도 11b는 일 실시 예에 따른 도 11a의 기계적 검사 서브시스템의 제2 사시도(1100b)를 보여준다.
도 11c는 일 실시 예에 따른 도 11a의 기계적 검사 서브시스템의 평면도(1100c)를 보여준다.
도 11d는 일 실시 예에 따른 도 11a의 기계적 검사 서브시스템의 정면도(1100d)를 보여준다.
도 11e는 일 실시 예에 따른, 도 11a의 기계적 검사 서브시스템의 배면도(1100e)를 보여준다.
도 11f는 일 실시 예에 따른 도 11a의 기계적 검사 서브시스템의 측면도(1100f)를 보여준다.
도 11g는 일 실시 예에 따른 도 11a의 기계적 검사 서브시스템의 이미징 유닛의 정면도(1100g)를 보여준다. 이미징 유닛은 도 1의 이미징 유닛(122)일 수 있다.
도 11h는 일 실시 예에 따른 도 11a의 이미징 유닛의 측면도(1100h)를 보여준다.
도 11i는 일 실시 예에 따른 도 11a의 기계적 검사 서브시스템의 물품 홀더 및 물품 매니퓰레이터의 정면도(1100i)를 보여준다. 물품 홀더는 도 1의 물품 홀더(118)일 수 있다. 물품 매니퓰레이터는 도 1의 물품 매니퓰레이터(120)일 수 있다.
도 11j는 일 실시 예에 따른 도 11a의 기계적 검사 서브시스템에 대한 부품 테이블(1100j)을 보여준다.
도 12를 지금부터 참조하면, 도 12에는 일 실시 예에 따른 본 개시내용의 기계적 검사 서브시스템의 정면도(1200)가 도시되어 있다. 기계적 검사 서브시스템은 도 1의 기계적 검사 서브시스템(114)일 수 있다.
도 13을 지금부터 참조하면, 도 13에는 일 실시 예에 따른 실시간 스트리밍 비디오 분석 방법(1300)이 도시되어 있다. 상기 방법(100)은 도 1의 육안 검사 시스템(100)에 의해 수행될 수 있다.
1308에서, 상기 방법(1300)이 시작된다.
1310에서, 노드 장치(148)는 제1 사용 가능한 카메라(128)에 연결된다. 여기에는 사용 가능한 USB 3.0(또는 다른 인터페이스)를 찾는 것과 임의의 카메라가 연결되어 있는지를 확인하는 것이 포함될 수 있다.
노드 장치(148)는 카메라 API를 통해 카메라(128)에 연결될 수 있다. 카메라 API는 노드 장치(148) 상의 애플리케이션 소프트웨어가 카메라(128)와 통신하는 것을 허용하는 한 세트의 사양이다.
카메라(128)가 Basler 카메라인 실시 예에서, 노드 장치(148)는 Pylon™ API를 통해 제1 사용 가능한 Basler 카메라에 연결한다. Basler Pylon 카메라 소프트웨어 제품군은 Basler 카메라의 동작을 위한 드라이버 및 도구의 모음이다.
1312에서, 노드 장치(148)는 카메라(128)로부터 연속적으로 이미지를 포착한다. 노드 장치(148)에 의해 카메라(128)로부터 포착된 이미지는 비트맵 포맷으로 이루어져 있으며, 그 후에 OpenCV에 의해 이용되는 BGR 채널 순서화를 사용하여 넘파이(numpy) 어레이 포맷으로 변환된다.
1314에서, 포착된 이미지는 카메라 형식에서 OpenCV 등에 사용하기에 적합한 다른 포맷으로 변환된다. 일 실시 예에서, 포착된 이미지는 Basler 카메라 포맷으로부터 OpenCV BGR 형식으로 변환된다.
1316에서, OpenCV BGR 포맷의 이미지 데이터는 넘파이 어레이로 변환된다. 넘파이 어레이는 더 적은 메모리 소비(넘파이 데이터 구조가 더 적은 공간을 점유할 수 있음)와 더 나은 런타임 동작을 제공할 수 있다.
1318에서, 넘파이 어레이는 사전 처리를 위해 사전처리 기능부로 보내진다. 예를 들어, 넘파이 어레이는 도 6의 사전 처리 기능부(614)로 전송되고 도 6의 방법(600)에 따라 추가로 처리될 수 있다.
사전 처리 기능부는 이미지를 사전 처리하여 신경망(156)을 위한 이미지를 준비한다. 사전 처리는 크로핑, 넘파이 어레이로의 변환, 픽셀 값을 int8 포맷으로 변경하기, BGR 포맷을 RGB 형식으로 변경하기, 쌍선형 보간을 사용한 크기 조정 중의 어느 하나 또는 그 이상을 포함할 수 있다.
도 14a 내지 도 14d를 지금부터 참조하면, 도 14a 내지 도 14d에는 일 실시 예에 따른 육안 검사 시스템에서 사용하기 위한 기계적 검사 서브시스템(1414)의 사시도, 평면도, 정면도 및 측면도(1400a, 1400b, 1400c, 1400d)가 각각 도시되어 있다. 기계적 검사 서브시스템(1414)은 로봇 자동화를 사용한다.
기계적 검사 서브시스템(1414)은 도 1의 기계적 검사 서브시스템(114)으로서 사용될 수 있다.
도 14a 내지 14d의 요소는 도 1에서 설명한 대응 요소를 지닐 수 있다. 기계적 검사 서브시스템(114)의 요소가 참조번호 1XX로 언급되고 이러한 요소가 기계적 검사 서브시스템(1414)의 대응 요소를 지니는 경우, 기계적 검사 서브시스템(1414)의 대응 요소는 참조 번호 14XX(다시 말하면, 동일한 마지막 두 자리를 도 1의 대응 자리로서 지님)로서 언급된다. 대응 요소는 동일하거나 유사한 기능을 수행할 수 있다.
기계적 검사 서브시스템(1414)은 육안 검사를 수행하기 위해 컴퓨팅 시스템과 기계적 검사 서브시스템(1414) 간의 데이터 전송을 용이하게 하도록 컴퓨팅 시스템(예컨대, 도 1의 컴퓨팅 시스템(116))에 통신 가능하게 연결된다. 컴퓨팅 시스템(116)은 여기에서 설명되는 바와 같은 다양한 제어, 분석 및 시각화 기능을 수행한다.
기계적 검사 서브시스템(1414)은 로봇 서브시스템(1482)을 포함한다. 로봇 서브시스템(1482)은 로봇 아암(1484) 및 로봇 아암(1484)의 움직임을 제어하기 위한 로봇 아암 컨트롤러(도시되지 않음)를 포함한다. 로봇 아암(1484)은 로봇 아암 컨트롤러로부터의 명령에 따라 이동하도록 구성된다. 로봇 서브시스템(1482)은 로봇 아암(1484)을 표면에 장착하기 위한 베이스(1486)를 포함한다. 표면은 고정 또는 이동 객체 상에 있을 수 있다.
기계적 검사 서브시스템(1414)은 로봇 아암(1484)에 부착된 이미징 유닛(1422)을 포함한다. 이미징 유닛(1422)은 카메라(1428) 및 조명 메커니즘(1426)를 포함한다.
로봇 아암(1484)은 검사 중인 물품(1410)의 이미지를 캡처하기 위해 이미징 유닛(1422)을 이동시키도록 구성된다. 로봇 아암(1484)은 3차원으로 이동하도록 구성될 수 있다. 검사 동안, 물품(1410)은 물품 매니퓰레이터(1420a, 1420b)에 의해 맞물린다. 물품 매니퓰레이터(1420a, 1420b)는 검사 동안 (예컨대, 도 1의 운동 라인(125)과 유사한 운동 라인을 따라서와 같은) 물품(1410)의 회전을 용이하게 한다. 물품(1410)을 회전시킴으로써, 이미징 유닛(1422)은 전체 물품(1410)의 이미지를 캡처할 수 있다.
특정한 경우에, 검사 동작 동안 로봇 아암(1484)은 물품 매니퓰레이터(1420a)에 근접한 물품(1410)의 섹션으로 이미징 유닛(1422)을 이동시키고 물품(1410)의 해당 섹션의 360도 이미징을 나타내는 복수의 이미지를 그 위치에서 캡처한다. 그 후에, 로봇 아암(1484)은 제2 위치에서의 유사한 360도 이미징을 위해 이미징 유닛(1422)을 물품(1410)의 제2 섹션으로 이동시킨다(다시 말하면, 로봇 아암(1484)은 이미징 유닛(1422)을 물품 매니퓰레이터(1420a)로부터 더 멀리 이동시켜 제2 섹션을 이미징한다). 이러한 프로세스는 (예컨대, 물품 매니퓰레이터(1420a)의 근위 단부에서부터 물품 매니퓰레이터(1420b)의 근위 단부에 이르기까지의) 물품(1410)의 길이를 따라 반복될 수 있다.
도 15를 지금부터 참조하면, 도 15에는 일 실시 예에 따른, 본 개시내용의 육안 검사 시스템 내 구성요소들 간의 통신을 보여주는 블록도(1500)가 도시되어 있다. 도 15에서, 구성요소 간의 실선은 연결된 구성요소 간의 데이터 통신을 나타낸다. 이러한 통신은 연결 유형에 따라 유선 또는 무선 통신일 수 있다.
육안 검사 시스템은 AI 육안 검사 기계(1502) 및 생산 기계(1504)를 포함한다. 생산 기계(1504)는 검사될 물품에 대해 수행되는 마지막 프로세스일 수 있다. 생산 기계(1504)는 AI 육안 검사 기계(1502)에 대한 입력으로서 제공되는 출력을 생성한다. AI 육안 검사 기계(1502)는 도 1의 육안 검사 시스템(100)일 수 있다.
생산 기계(1504)는 PLC(1506)("PLC 2"로 표시됨) 및 이더넷/IP 모듈(1508)을 포함한다. 이더넷/IP 모듈(1508)은 PLC(1506)와 AI 육안 검사 기계(1502)의 구성요소 간의 통신을 용이하게 한다. PLC(1506)는 생산 기계(1504)의 컨트롤러이다. PLC(1506)는 육안 검사 기계(1502) 및 생산 기계(1504)의 적절한 동작을 용이하게 하는 통합 목적(예컨대, 인터페이스 I/O 신호)을 위해 검사 기계(1502)의 PLC(1514)(이하에서 설명됨)와 통신한다.
AI 육안 검사 기계(1502)는 로봇(1510) 및 이더넷/IP 모듈(1512)을 포함한다. 로봇(1510)은 도 14의 로봇 서브시스템(1482)일 수 있고 AI 육안 검사 기계(1502)의 이미징 유닛을 조작하기 위한 로봇 아암(예컨대, 로봇 아암(1484))을 포함할 수 있다. 이더넷/IP 모듈(1512)은 로봇(1510)과 AI 육안 검사 기계(1502) 및 생산 기계(1504)의 구성요소 간의 통신을 용이하게 한다. 특히, 이더넷/IP 모듈(1512)은 로봇(1510)과 생산 기계(1504)의 PLC(1506) 간의 통신을 용이하게 하기 위해 이더넷/IP 모듈(1508)과 통신할 수 있다. 일부 경우에, PLC(1506)는 로봇(1510)과 통신할 필요가 없을 수 있다. 그러나 일부 다른 경우에 이더넷/IP 통신은 생산 기계(1504)의 PLC(1506)와 육안 검사 기계(1502)의 PLC(1514) 간에(예컨대, Mitsubishi PLC와 Keyence PLC 간에) 직접 실현 가능하지 않을 수 있으며 결과적으로는 로봇(1510)을 통해 달성될 수 있다. 이러한 경우, 로봇(1510)은 PLC(1506)와 PLC(1514) 간에 신호가 전달될 수 있는 매개체의 역할을 할 수 있다.
AI 육안 검사 기계(1502)는 또한 PLC(1514)("PLC 1"로 표시됨)를 포함한다. PLC(1514)는 도 1의 PLC(146)일 수 있다. PLC(1514)는 이더넷/IP 모듈(1516) 및 이더넷 모듈(1518)을 통해 AI 육안 검사 기계(1502) 및 생산 기계(1504)의 다른 구성요소와 통신한다. 특히, PLC(1514)는 이더넷/IP 모듈(1516)과 이더넷/IP 모듈(1512) 간의 통신을 통해 로봇(1510)과 통신한다. PLC(1514)는 이더넷/IP 모듈(1516)과 이더넷/IP 모듈(1508) 간의 통신을 통해 생산 기계(1504)의 PLC(1506)와 통신할 수 있다.
AI 육안 검사 기계(1502)는 또한 자동화 구성요소(1520)를 포함한다. 자동화 구성요소(1520)는 PLC(1514)와 직접 통신한다. 자동화 구성요소(1520)는 검사 프로세스의 자동화 기능을 담당하는 구성요소(예컨대, 도 1의 서브시스템(114) 또는 도 14의 1414)와 같은 기계적 검사 서브시스템의 구성요소)를 포함한다. 자동화 구성요소(1520)는 예를 들어 스테퍼 모터, 액추에이터(예컨대, 실린더), 센서 등을 포함할 수 있다. 자동화 구성요소(1520)는 직접 고정배선 연결을 통해 PLC(1514)와 통신한다. 자동화 구성요소(1520)는 PLC(1514)와 통신하여 PLC(1514)가 I/O 신호를 통해 원하는 검사 시퀀스를 수행할 수 있게 한다. 예를 들어, PLC(1514)는 실린더(예컨대, 위에서 설명한 바와 같은 제1 액추에이터)를 전진시키기 위해 출력 신호를 개시할 수 있다. 실린더가 전진될 경우, 실린더 "전진" 상태 등을 확인하기 위해 PLC 1514에 입력이 다시 제공된다.
AI 육안 검사 기계(1502)는 광학 구성요소(1522) 및 조명 구성요소(1524)를 포함한다. 광학 구성요소(1522)는 도 1의 카메라(128)일 수 있다. 조명 구성요소(1524)는 도 1의 조명 메커니즘(126)일 수 있다. 광학 구성요소(1522) 및 조명 구성요소(1524)는 AI 육안 검사 기계(1502)의 이미징 유닛을 구성한다.
조명 구성요소(1524)는 PLC(1514)와 직접 통신한다.
AI 육안 검사 기계(1502)는 AI 장치(1526)를 포함한다. AI 장치(1526)는 도 1의 노드 장치(148)일 수 있다. AI 장치(1526)는 광학 구성요소(1522)와 직접 통신한다.
AI 장치(1526)는 이더넷 모듈(1518)을 통해 PLC(1514)와 통신한다.
AI 육안 검사 기계(1502)는 또한 디스플레이/인간-기계 인터페이스(HMI; human-machine interface)(1528) 및 인간 인터페이스(1530)를 포함한다. 디스플레이/HMI(1528)는 도 1의 디스플레이(158) 또는 사용자 제어 장치(150)일 수 있다. 인간 인터페이스(1530)는 도 1의 사용자 인터페이스(160)일 수 있다. 디스플레이/HMI(1528)는 인간 인터페이스(1530)와 직접 통신한다.
디스플레이/HMI(1528)는 이더넷 모듈(1518)을 통해 PLC(1514)와 통신한다.
인간 인터페이스(1530)는 AI 장치(1526)와 직접 통신한다.
위의 설명이 하나 이상의 장치, 방법 또는 시스템의 예를 제공하지만, 다당업자에 의해 해석되는 다른 장치, 방법 또는 시스템이 청구범위의 범위 내에 있을 수 있음을 이해할 것이다.

Claims (31)

  1. 물품의 육안 검사를 위한 시스템으로서,
    검사 대상 물품의 이미지 데이터를 획득하는 카메라;
    상기 카메라로부터 이미지 데이터를 수신하고 적어도 하나의 결함 유형을 검출하도록 훈련된 결함 검출 모델을 사용하여 상기 이미지 데이터를 분석하기 위한 노드 컴퓨팅 장치 - 상기 결함 검출 모델은 입력으로서 이미지 데이터를 수신하고 출력으로서 검출된 결함을 묘사하는 결함 데이터를 생성하도록 구성된 머신 러닝 기반 객체 검출 모델을 포함함 -; 및
    상기 노드 컴퓨팅 장치로부터 상기 결함 데이터를 수신하고 상기 결함 데이터를 허용 오차 데이터와 비교함으로써 상기 결함 데이터가 수용 가능한지 또는 수용 가능하지 않은지를 결정하기 위한 프로그래블 로직 컨트롤러("PLC") 장치;
    를 포함하는, 시스템.
  2. 제1항에 있어서,
    상기 시스템은,
    상기 검사 이미지를 획득하기 전에 상기 검사 대상 물품에 대해 제1 이미징 위치로 상기 카메라를 자율적으로 이동시키기 위한 로봇 아암;
    을 더 포함하는, 시스템.
  3. 제2항에 있어서,
    상기 결함 데이터가 수용 가능하지 않다고 결정하면, 상기 로봇 아암은 상기 검사 대상 물품 상의 물품 식별자가 상기 카메라의 이미징 구역 내에 있는 물품 식별자 위치로 상기 카메라를 자율적으로 이동시키도록 구성되고, 상기 카메라는 상기 물품 식별자의 이미지를 획득하도록 구성되는, 시스템.
  4. 제1항에 있어서,
    상기 시스템은,
    상기 물품을 검사하는 동안 사전에 결정된 일련의 이미징 위치를 통해 상기 카메라를 자율적으로 이동시키기 위한 로봇 아암;
    을 더 포함하는, 시스템.
  5. 제1항에 있어서,
    상기 시스템은,
    검사 동안 상기 물품과 맞물려 회전시키도록 구성된 물품 매니퓰레이터;
    를 더 포함하는, 시스템.
  6. 제1항에 있어서,
    상기 이미지 데이터는 상기 물품의 회전 동안 획득된 복수의 이미지를 포함하고, 상기 노드 컴퓨팅 장치는 이미지 스티칭 기술을 사용하여 상기 복수의 이미지로부터 스티칭된 이미지를 구성하도록 이루어지며, 상기 이미지 데이터는 결함 검출 모델에 상기 스티칭된 이미지로서 제공되는, 시스템.
  7. 제1항에 있어서,
    상기 시스템은,
    상기 PLC 장치 및 상기 노드 장치 중 적어도 하나로부터 데이터를 수신하고, 상기 수신된 데이터를 사용하여 시각화를 생성하며, 그리고 사용자 인터페이스에 시각화를 표시하는 사용자 제어 장치;
    를 더 포함하는, 시스템.
  8. 제7항에 있어서,
    상기 사용자 인터페이스는 PLC 모드 및 노드 장치 모드를 포함하고, 상기 PLC 모드는 PLC 장치 동작의 시각화를 표시하고, 상기 노드 장치 모드는 노드 장치 동작의 시각화를 표시하는, 시스템.
  9. 제8항에 있어서,
    상기 사용자 제어 장치는 상기 PLC 모드와 상기 노드 장치 모드 사이를 자동으로 전환하도록 구성되는, 시스템.
  10. 제1항에 있어서, 상기 노드 컴퓨팅 장치는 상기 검출된 결함이 필요한 수의 연속 이미지 프레임에 나타난 것을 확인할 때 상기 결함 데이터를 상기 PLC 장치에 전송하도록 구성되는, 시스템.
  11. 제1항에 있어서,
    상기 PLC 장치는 상기 결함 데이터가 수용 가능하지 않다고 결정되면 검사 중지 명령을 생성하도록 구성되는, 시스템.
  12. 인공 지능("AI") 육안 검사 시스템으로서,
    상기 시스템은,
    노드 컴퓨팅 장치 - 노드 컴퓨팅 장치는,
    검사 대상 물품의 이미지 데이터를 수신하도록 구성되고, 그리고
    적어도 하나의 결함 유형을 검출하도록 훈련된 결함 검출 모델을 사용하여 이미지 데이터를 분석하도록 구성되며, 상기 결함 검출 모델은 입력으로서 상기 이미지 데이터를 수신하고 출력으로서 검출된 결함을 묘사하는 결함 데이터를 생성하도록 구성된 머신 러닝 기반 객체 검출 모델을 포함함 -; 및
    노드 컴퓨팅 장치에 통신 가능하게 연결된 프로그래머블 로직 컨트롤러("PLC") 장치;
    를 포함하며,
    상기 PLC 장치는,
    상기 노드 컴퓨팅 장치로부터 상기 결함 데이터를 수신하도록 구성되고, 그리고
    상기 결함 데이터를 허용 오차 데이터와 비교하여 상기 결함 데이터가 수용 가능한지 또는 수용 가능하지 않은지를 결정하도록 구성되는, 시스템.
  13. 제12항에 있어서,
    상기 결함 데이터는 결함 유형, 결함 위치 및 신뢰 레벨에 상응하는 결함 클래스를 포함하는, 시스템.
  14. 제12항에 있어서,
    상기 결함 검출 모델은 2단계 객체 검출 모델을 포함하는, 시스템.
  15. 제14항에 있어서,
    상기 2단계 객체 검출 모델은 제1 단계에서 관심 영역을 생성하기 위한 지역 제안 네트워크를 포함하고, 상기 관심 영역은 객체 분류 및 경계 박스 회귀를 위한 파이프라인 아래로 전송되는, 시스템.
  16. 제12항에 있어서,
    상기 결함 검출 모델은 인스턴스를 3개 이상의 클래스 중 하나로 분류하기 위해 다중 클래스 분류를 수행하도록 구성되고, 상기 클래스는 적어도 2개의 결함 유형을 포함하는, 시스템.
  17. 제12항에 있어서,
    상기 결함 검출 모델은 가능한 가장 높은 프레임 레이트에서 실행되도록 수정되는, 시스템.
  18. 제12항에 있어서,
    상기 결함 검출 모델은 신경망을 포함하고, 상기 신경망은 상기 노드 컴퓨팅 장치 상에서 실행될 상기 신경망의 크기를 압축하기 위해 상기 신경망의 레이어들을 융합함으로써 최적화되는, 시스템.
  19. 제12항에 있어서,
    상기 노드 컴퓨팅 장치는 이중 보안 레이어를 포함하고, 상기 노드 장치는 암호화되고 상기 노드 장치 상의 파일은 암호화되는, 시스템.
  20. 제12항에 있어서,
    상기 노드 컴퓨팅 장치는 상기 결함 데이터가 수용 가능하지 않다고 상기 PLC 장치가 결정할 때 업데이트되는 물품에 대한 결함 카운터를 포함하는, 시스템.
  21. 제12항에 있어서,
    상기 노드 컴퓨팅 장치는, 연속적인 이미지 프레임에 걸쳐 결함을 추적함으로써 상기 검출된 결함이 진정한 검출인지 여부를 결정하도록 더 구성되는, 시스템.
  22. 제12항에 있어서,
    상기 이미지 데이터는 상기 물품의 회전 동안 획득된 복수의 이미지를 포함하고, 상기 노드 컴퓨팅 장치는 이미지 스티칭 기술을 사용하여 상기 복수의 이미지로부터 스티칭된 이미지를 구성하도록 이루어지며, 상기 이미지 데이터는 상기 결함 검출 모델에 상기 스티칭된 이미지로서 제공되는, 시스템.
  23. 인공 지능("AI")을 사용하여 물품을 자동으로 육안 검사하는 방법에 있어서,
    상기 방법은,
    카메라를 이용하여 검사 대상 물품의 이미지 데이터를 획득하는 단계;
    상기 이미지 데이터를 노드 컴퓨팅 장치에 제공하는 단계;
    적어도 하나의 결함 유형을 검출하도록 훈련된 결함 검출 모델을 사용하여 상기 노드 컴퓨팅 장치에서 상기 이미지 데이터를 분석하는 단계 - 상기 결함 검출 모델은 입력으로서 상기 이미지 데이터를 수신하고 출력으로서 검출된 결함을 묘사하는 결함 데이터를 생성하도록 구성된 머신 러닝 기반 객체 검출 모델을 포함함 -;
    상기 노드 컴퓨팅 장치로부터 프로그래머블 로직 컨트롤러("PLC") 장치로 상기 결함 데이터를 전송하는 단계; 및
    상기 결함 데이터를 허용 오차 데이터와 비교하여 상기 결함 데이터가 수용 가능한지 또는 수용 가능하지 않은지를 상기 PLC 장치에서 결정하는 단계;
    를 포함하는, 방법.
  24. 제23항에 있어서,
    상기 방법은,
    상기 노드 컴퓨팅 장치를 사용하여 연속적인 이미지 프레임에 걸쳐 상기 검출된 결함을 추적하는 단계;
    를 더 포함하는, 방법.
  25. 제23항에 있어서,
    상기 결함 데이터를 상기 노드 컴퓨팅 장치로부터 상기 PLC 장치로 전송하는 단계는 상기 검출된 결함이 필요한 수의 연속적인 이미지 프레임에 걸쳐 추적됨에 응답하여 수행되는, 방법.
  26. 제23항에 있어서,
    상기 이미지 데이터는 상기 물품의 회전 동안 획득된 복수의 이미지를 포함하고, 상기 방법은,
    이미지 스티칭 기술을 사용하여 상기 복수의 이미지로부터 스티칭된 이미지를 구성하는 단계; 및
    상기 이미지 데이터를 상기 스티칭된 이미지로서 상기 결함 검출 모델에 제공하는 단계;
    를 더 포함하는, 방법.
  27. 제23항에 있어서,
    상기 방법은,
    결함 데이터가 수용 가능하지 않다고 결정하면 상기 PLC 장치에서 검사 중지 명령을 생성하는 단계;
    를 더 포함하는, 방법.
  28. 제23항에 있어서,
    상기 방법은,
    상기 결함 데이터가 수용 가능하지 않다고 결정하면 상기 PLC 장치에서 경보 명령을 생성하는 단계;
    경보를 생성하고 출력하도록 구성된 경보 시스템에 상기 경보 명령을 전송하는 단계;
    를 더 포함하는, 방법.
  29. 제23항에 있어서,
    상기 방법은,
    상기 결함 데이터가 수용 가능하지 않다고 결정하면 상기 물품의 검사를 속행하고 검출된 결함을 포함하도록 상기 물품에 대한 결함 카운터를 업데이트하는 단계;
    를 더 포함하는, 방법.
  30. 제23항에 있어서,
    상기 방법은,
    상기 결함 데이터가 수용 가능하지 않다고 결정하면, 상기 검사 대상 물품 상의 물품 식별자가 상기 카메라의 이미징 구역 내에 있는 물품 식별자 위치로 상기 카메라를 자율적으로 이동시키는 단계; 및
    상기 물품 식별자의 이미지를 획득하는 단계;
    를 더 포함하는, 방법.
  31. 제30항에 있어서,
    상기 방법은,
    상기 물품 식별자 및 상기 결함 데이터를 연결하고 이들을 데이터베이스에 저장하는 단계;
    를 더 포함하는, 방법.
KR1020227014750A 2019-09-30 2020-09-30 Ai 육안 검사 시스템 및 방법 KR20220070313A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962907767P 2019-09-30 2019-09-30
US62/907,767 2019-09-30
PCT/CA2020/051306 WO2021062536A1 (en) 2019-09-30 2020-09-30 System and method for ai visual inspection

Publications (1)

Publication Number Publication Date
KR20220070313A true KR20220070313A (ko) 2022-05-30

Family

ID=75336800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227014750A KR20220070313A (ko) 2019-09-30 2020-09-30 Ai 육안 검사 시스템 및 방법

Country Status (6)

Country Link
US (1) US20220366558A1 (ko)
EP (1) EP4038374A4 (ko)
JP (1) JP2022550222A (ko)
KR (1) KR20220070313A (ko)
CA (1) CA3152907A1 (ko)
WO (1) WO2021062536A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220366558A1 (en) 2019-09-30 2022-11-17 Musashi Auto Parts Canada Inc. System and method for ai visual inspection
US20220318667A1 (en) * 2021-03-30 2022-10-06 Accenture Global Solutions Limited Intelligent real-time defect prediction, detection, and ai driven automated correction solution
CN113344214B (zh) * 2021-05-31 2022-06-14 北京百度网讯科技有限公司 数据处理模型的训练方法、装置、电子设备及存储介质
CN113378736B (zh) * 2021-06-18 2022-08-05 武汉大学 基于变换一致性正则化的遥感影像半监督语义分割方法
CN113552132A (zh) * 2021-06-23 2021-10-26 滁州沃博自动化科技有限公司 一种用于视觉检测皮带机上的静态检测产品缺陷设备
WO2023281359A1 (en) * 2021-07-07 2023-01-12 Coursebricks System and method for automated inspection of components using image augmentation and computer vision models
CN113450610B (zh) * 2021-07-27 2023-01-06 中冶检测认证有限公司 一种基于数据共享的智能化检测实验平台
CN113592832A (zh) * 2021-08-05 2021-11-02 深圳职业技术学院 一种工业品缺陷检测方法和装置
KR102389515B1 (ko) * 2021-08-25 2022-04-25 정세인 인공지능 근전도를 활용한 전자 의수장치 제공방법
KR102511967B1 (ko) * 2021-11-19 2023-03-20 (주)해양정보기술 영상 기반 해수위 관측 방법 및 시스템
CN114152622A (zh) * 2021-11-30 2022-03-08 南方电网物资有限公司 一种电力物资入库检测系统
US20230175924A1 (en) * 2021-12-08 2023-06-08 Aktiebolaget Skf Imaging system mountable to a bearing ring
EP4241928A1 (en) * 2022-03-07 2023-09-13 Körber Suppy Chain DK A/S Method for operating a material handling apparatus
CN114612471B (zh) * 2022-05-10 2022-10-11 佛山市阿瑞斯数字设备有限公司 一种复杂纹理瓷砖表面缺陷检测方法
CN114999183B (zh) * 2022-05-30 2023-10-31 扬州大学 一种交通路口车流量检测方法
CN114705691B (zh) * 2022-06-06 2022-09-06 深圳向一智控科技有限公司 一种工业机器视觉控制方法及装置
US20240094702A1 (en) * 2022-09-15 2024-03-21 Baker Hughes Oilfield Operations Llc Machine learning based rapid parameter development for additive manufacturing and related methods
JP2024048948A (ja) * 2022-09-28 2024-04-09 株式会社日立産機システム コントロールシステム
GB2625148A (en) * 2022-12-09 2024-06-12 Degould Ltd Vehicle quality control system
WO2024130050A1 (en) * 2022-12-15 2024-06-20 Schlumberger Technology Corporation Machine learning-based defect analysis reporting and tracking
CN116091500B (zh) * 2023-04-07 2023-07-04 成都数之联科技股份有限公司 扩散板缺陷检测方法、模型训练方法、装置、设备和介质
CN117092116A (zh) * 2023-10-20 2023-11-21 上海嘉朗实业南通智能科技有限公司 基于机器视觉的汽车铝合金铸件缺陷检测系统及方法
KR102663746B1 (ko) * 2023-11-06 2024-05-08 한국건설기술연구원 텐던 손상진단을 위한 인공지능 진단모델의 학습방법과 학습시스템, 그리고 이를 위한 추가 학습데이터의 형성시스템 및 형성방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7625335B2 (en) * 2000-08-25 2009-12-01 3Shape Aps Method and apparatus for three-dimensional optical scanning of interior surfaces
US20170249729A1 (en) * 2011-05-09 2017-08-31 Level 3 Inspection, Llc Automated optical metrology computer aided inspection station and method of operation
JP6957496B2 (ja) * 2016-03-23 2021-11-02 フェデックス コーポレイト サービシズ,インコーポレイティド 無線ノードネットワーク内のノードのブロードキャスト設定を自動調整するための無線ノードベースの方法、その方法を実行する命令を含む非一時的コンピュータ可読媒体、および無線ノードネットワークにおける自動調整ブロードキャストノード装置
WO2019067641A1 (en) * 2017-09-26 2019-04-04 Aquifi, Inc. SYSTEMS AND METHODS FOR VISUAL INSPECTION BASED ON INCREASED REALITY
JP7073785B2 (ja) * 2018-03-05 2022-05-24 オムロン株式会社 画像検査装置、画像検査方法及び画像検査プログラム
US20220366558A1 (en) 2019-09-30 2022-11-17 Musashi Auto Parts Canada Inc. System and method for ai visual inspection

Also Published As

Publication number Publication date
WO2021062536A1 (en) 2021-04-08
EP4038374A4 (en) 2023-10-25
US20220366558A1 (en) 2022-11-17
JP2022550222A (ja) 2022-11-30
CA3152907A1 (en) 2021-04-08
EP4038374A1 (en) 2022-08-10

Similar Documents

Publication Publication Date Title
KR20220070313A (ko) Ai 육안 검사 시스템 및 방법
KR102579783B1 (ko) 제품 결함 이미지 원격 학습을 통한 비전 검사 시스템
CN111272763B (zh) 用于工件检查的系统和方法
US10726543B2 (en) Fluorescent penetrant inspection system and method
CN112088387B (zh) 检测成像物品缺陷的系统和方法
KR20170069178A (ko) 멀티 광학 모듈 비전 검사 시스템
US20240160194A1 (en) System and method for manufacturing quality control using automated visual inspection
CN109840900B (zh) 一种应用于智能制造车间的故障在线检测系统及检测方法
CN112452801A (zh) 一种高效率的玻璃瓶缺陷在线检测装置及其工作方法
US20190272630A1 (en) Image inspecting apparatus, image inspecting method and image inspecting program
IL259143B1 (en) System and method for visual production line inspection of various production items
EP4202424A1 (en) Method and system for inspection of welds
CN102529019A (zh) 一种模具检测、保护及零件检测、摘取的方法
KR20230164119A (ko) 적응형 관심 영역 분할을 이용한 자동화된 시각적 검사를 위한 시스템, 방법 및 컴퓨터 장치
IL263097B2 (en) Optimization of the preparation phase in the automatic visual inspection process
CN111968100B (zh) 机器视觉检测方法与系统
KR20220164124A (ko) 딥 러닝 모델에 기반하여 제품의 결함 여부를 유형별로 검사하기 위한 시스템
CN116441190A (zh) 一种龙眼检测系统、方法、设备及存储介质
CN114674830A (zh) 一种高速生产线上瓶盖瑕疵检测模组
US20230342909A1 (en) System and method for imaging reflecting objects
US20230152781A1 (en) Manufacturing intelligence service system connected to mes in smart factory
US20230080491A1 (en) Optical inspection systems and methods for moving objects
KR20230075148A (ko) 제품 표면의 품질 검사를 수행하기 위한 장치 및 방법
Chauhan et al. Effect of illumination techniques on machine vision inspection for automated assembly machines
KR101338443B1 (ko) 엔진 가공품의 무인 검사 방법