ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 딥 러닝 기반 컴퓨터 비전을 사용한 제조 품질 검사 ~처럼
    카테고리 없음 2020. 2. 18. 12:57

    >


    [공지사항(Disclaimer)] 본 콘텐츠는 AI의 제조업 적용을 위한 이해와 스터디를 위해 제작, 공급된 것입니다. 만약 원본 이야기와 콘텐츠상에서 차이가 없고 불일치가 있으면 원본이 우선이다. 또 한글 번역문과 영어 원문이 맞거나 불일치가 있는 경우(번역 지연에 따른 경우 등 포함), 영어 원문이 우선된다. 또한 본 콘텐츠는 고객 간의 어떠한 계약에도 속하지 않으며, 계약을 변경하지도 않습니다.본 문서는 Quality inspection in manufacturing using deeplearning based computervision 이야기를 근거로 작성되었습니다.


    제조산업의 자동화 : 오노히에 제조업의 자동화 수준이 높아짐에 따라 자재품질검사도 인력의 개입이 거의 없이 자동화 되어야 합니다. 자동화에 의한 품질검사에서 사람 수준의 정밀도 이상에 도달하는 추세입니다. 현대 산업 기업들은 경쟁력을 유지하기 위해 자동화를 통해 양과 품질을 모두 달성하려고 노력하고 있습니다. 해당 게시물은 사용자가 딥러닝 활용 사례를 살펴보고 최적의 성능을 얻기 위해 모두 스택(알고리즘, 추론 프레임)입니다.워크, 하드웨어 가속기)를 최적화할 필요성을 나타냅니다.품질검사를 위한 딥러닝 : 제조사의 산업보통품질검사관은 대부분의 제품 제조 후 제품의 품질을 검사하기 위해 시간이 걸리는 수동작업으로 거부된 제품 때문에 업스트림 공장의 용량, 소모품, 인건비 및 비용이 낭비됩니다. 인공지능의 현대적 추세에 따라 산업기업들은 생산주기 동안 심층학습 기반의 컴퓨터 비전 기술을 사용하여 재료품질 검사를 자동화하는 방법을 모색하고 있습니다. 공장용량, 인건비 등을 최적화하는 동시에 인간의 개입을 최소화하는 것을 목표로 합니다. 딥러닝의 용도는 자율주행차 물체 감지부터 의료영상 심층학습으로 인한 질병 감지까지 다양합니다.딥러닝이 뭐예요?딥러닝은 딥구조화되고 구조화되지 않은 데이터 표현을 학습하는 분야입니다. 딥러닝은 데이터가 크고 복잡할 때, 게다가 과인은 결과를 추출하기 위해 AI의 경향이 늘고 있습니다. 딥러닝 아키텍처는 입력 레이어, 숨겨진 레이어 및 출력 레이어 같은 딥 레이어의 신경망으로 구성됩니다. 숨겨진 계층은 복잡한 데이터 구조를 이해하는 데 사용됩니다. 복잡한 작업을 수행하기 위해 신경망을 프로그래밍할 필요는 없어요. 기가바이트에서 테라바이트까지의 데이터는 뉴럴 아키텍처에 재공되어 스스로 학습합니다. 아래 심층 신경망 샘플:


    >


    Convolution neural Network (CNN, 콘볼루션 신경망): Convolution 신경망은 영상 분석에 일반적으로 적용되는 심층 신경망의 종류이다. Convolution 레이어는 결과를 이 건 레이어로 전달하는 입력에 convolution 작업을 적용할 것이다. 예를 들면, 하나 000 x하나 000픽셀의 다른 것은 하나 00만개의 피처를 가지고 있습니다. 만약 첫번째의 숨겨진 층이 하나 000개의 뉴런을 갖고 있다면 그것은 하나의 숨겨진 층 해안에 하나 0억개의 특징을 갖게 보세요. 이렇게 많은 기능을 가지고 있기 때문에, 신경 네트워크가 보다 적은 데이터로 오버피팅 되는 것을 막기 어렵습니다. 수십억의 기능을 가진 신경망을 훈련하기 위한 컴퓨터나 메모리 요구사항은 매우 많습니다. convolution 작업은 사용 가능한 기능의 수를 줄이고 더 적은 기능으로 네트워크를 더 깊게 하기 때문에 이 문제를 해결할 수 있습니다. 완전히 연결된 레이어에 비해 Convolution 레이어를 사용할 경우 두 가지 주요 이점이 있습니다. 즉, 파라미터 공유와 연결 간격이다.Convolution 신경 네트워크는 이미 알고 있는 패턴을 찾습니다. 이미 땅은 더 작은 매트릭스에 결합이 되었고, 이 Convolution은 이미 패턴을 찾습니다. 처음 몇 개의 레이어는 선/각/엣지 등을 식별할 수 있으며, 이러한 패턴은 보다 복잡한 피처를 인식하기 위해 더욱 깊은 신경 네트워크 레이어로 전달됩니다. CNN의 그런 속성은 이미 보고 사물을 식별하는 데 큰 도움이 될 것이다.Convolution 신경네트워크(ConvNeta)는 계층의 순서에 불과합니다. ConvNet아키텍처를 구축하는 데 3개의 주요 계층이 사용됩니다. Convolutional Layer, Pooling Layer 및 Fully-Connected Layer이다. 이 계층은 완전한 ConvNet 아키텍처를 형성하기 위해 중첩된 계층이다.


    >


    Image Source:http://cs23일 n.github.io/convolutional-networks/​ 아래의 이미지는 Convolution층의 개념을 설명할 예정이다.


    >


    아래의 이미지는 푸링 계층(평균 또는 최대 푸링) 개념을 설명합니다.


    >


    이 강의는 원래 CNN 아키텍처 안에서 자신의 것이다.


    >


    CNN 시간화:앞으로 평평한 표면에 균열이 있는 이미지입니다.


    >


    위의 균열 이젠가에게 LENET-5아키텍처와 비슷한 Conv(1프지앙아의 3X3필터)ReLU나 Max Pooling(2X2)의 각 레이어가 적용합니다. CNN 아키텍처가 균열 구역의 블록과 표면 전체에 걸친 확산에 초점을 맞추고 있음을 아래에서 확인할 수 있습니다.


    >


    사례연구: 업무기밀을 유지하기 위해 아래의 추상 사용 사례를 제시합니다.문제 설명: 하드웨어 제조에서 불량 재료를 감지하는 것은 오류가 발생하기 쉽고 시간이 걸리는 수동 프로세스로 잘못된 긍정(불량 물질을 양호한 것으로 감지)을 가져옵니다. 생산라인에서 결함이 발견되면 업스트림 노동력, 소모품, 공장 용량 및 매출로 손실이 발생합니다. 반면 감지되지 않은 불량 부품이 최종 제품에 들어갈 경우 고객의 영향과 시장 반응이 뒤따를 수 있습니다. 이로 인해 조직의 평판에 회복 불가능한 손상이 발생할 수 있습니다.요약:Seagate는딥러닝을통해하드웨어제품에대한결함을감지하였습니다. 하드웨어 제조 공정 중 이러한 긁힘/균열로 인해 생산라인에서 다음 공정에서는 제품을 사용할 수 없게 될 수 있습니다. Seagate의 딥러닝 애플리케이션은 인간 수준의 정확도와 열지도에서 영상의 결점 영역을 해석할 뿐만 아니라 균열/스쳐짐 등의 결점을 밀리초 단위로 감지하였습니다.딥러닝 아키텍처의 상세: 상황을 보다 잘 설명하기 위해, 이하의 칩이 내장된 회로 보드의 예시 화상을 사용하고 있습니다.첫 번째 접근:기존 컴퓨터의 이미지에서 흥미영역(ROI)을 추출하기 위해 순수 컴퓨터 비전 접근방식(비머신 러닝방법)과 ROI 결함을 감지하여 순수 딥러닝 접근방식의 조합을 채택하였습니다.DL전에 ROI 추출이 필요한 이유? 화상을 캡쳐 하는 동안, 카메라 어셈블리, 조명등이 회로의 전 영역에 초점을 맞췄습니다(아래 화상 예). 칩 영역에만 하자가 없는지 검사하고 회로의 다른 영역은 검사하지 않습니다. 신경망이 전체 영역이 아닌 흥미 영역에만 집중할 때 DL 정밀도가 크게 증가한다는 여러 연구를 통해 발견했습니다.최초로 Computer Vision(비기계 학습 방법)으로서 "흥미 영역(ROI)"을 추출해 주세요. 여기에서는 그레이스케일링, 침식, 확장, 이미지 닫기와 같은 변환과 같은 이미지에 대한 다양한 과정을 거쳐 결국 유스케이스 타입/제품 타입 등에 의해 이미지에서 ROI를 곡선화합니다. 침식의 기본 아이디어는 마치 토양침식과 같습니다. 전경물체의 경계를 침식합니다. 확장은 침식과 반대입니다. 전경 개체의 사이즈가 증가합니다. 일반적으로 노이즈 제거는 침식 후에 팽창합니다. 개방은 침식과 팽창의 다른 이름에 불과합니다. 노이즈를 제거하는데 편리합니다. 폐쇄는 개방, 팽창, 침식의 역전입니다. 전경 개체 내부의 작은 구멍이나 개체의 작은 검은 점을 닫는데 유용합니다. 그래디언트 변환은 이미지 확장과 침식의 차이입니다. 전반적으로 이러한 단계는 원본 이미지에서 거의 눈에 띄는 균열/스크래치를 여는 데 도움이 됩니다. 아래 그림을 참조하십시오.


    >


    ​ 둘째, Inception Net(한명 Google Net), Res Net, Dense Net 같은 입증된 CNN토폴로지를 사용하고 딥 뉴럴 네트워크(CNN(deep neural network)기반 모델을 사용하여 결함을 감지하는 것입니다.


    >


    최적의 아키텍처를 찾기 위해 실험이 필요한 다른 영역도 있습니다.데이터 기능 보강: 결함으로 분류된 독특한 기이지가 수천 개가 있고, 좋은 기이로 분류된 수천 개가 있습니다. 트레이닝 세트를 과도하게 맞추지 않기 위해서는 확대가 중요하겠죠. 우리는 X무작위 끄면 Y회전을 수행했습니다(원본의 깃발은 1개는 X*Y증강의 깃발도). 기능 보강 후 XY1000개의 결함 기자재와 XY천의 좋은 기재가 있습니다. 이 맥락에서 원본 CNN의 논문 중 1을 참조하세요. https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf​ CNN토폴로지의 초기화 전략:아래 그림과 함께 최종 연결된 레이어를 독자 FC레이어 및 sigmoid계층(바이너리 분류)에 교체했습니다.


    >


    각 계층에서 무게를 무작위로 초기화하는 대신에, 각 CNN 토폴로지에 대해서 ImageNet 초기화를 고려한 것보다 ImageNet 초기화를 사용할 때, DL 정도가 무작위보다 크게 증가했습니다.​ 손실 기능 및 최적화 프로그램:교차 엔트로피 손실:교차 엔트로피 손실 또는 로그 손실은 출력이 0과 하나 사이의 확률치인 분류 모델의 성능을 측정합니다. 예측된 확률이 실제 레벨에서 친구가 되면 교차 엔트로피의 손실이 증가합니다. 그러므로 실제 관측 레이블이 하나하나 때 확률 0.0하나를 예측하는 것은 좋지 않으며 손실치가 높습니다. 완벽한 모델의 로그 손실은 0입니다.


    >


    SGD와 Nesterov momentum: SGD 또는 확률적 그래디언트 디센트는 차별화 가능한 객관함수(손실 기능)를 최적화하는 반복적 노하우다. 데이터로부터 무작위 샘플을 사용해 그래디언트 디센트 업데이트를 실시하기 때문에 확률적이다. 모멘텀은 그래디언트의 이동평균으로 네트워크의 가중치를 업데이트하는데 사용되며 올바른 방향으로 그래디언트를 가속시키는데 도움이 됩니다. Nesterov는 요즘 유행을 얻고 있는 운동량의 버전이다.


    >


    2번째 접근 방법:최초의 접속 비판:관심 영역을 추출하는 동안 제품 유형, 회로 보드형/칩 형태(추상 예제의 경우)카메라 설정/방향 등이 변경될 때마다 코드를 다시 작성할 필요가 있습니다.​ 해결의 비결:엔도-엔드 2단계 DL의 아키텍처를 구축했습니다. 첫 번째 단계에서는 CV 방식 대신 DL 방식을 사용하여 ROI 자체를 예측했습니다. 경계상자 툴을 사용하여 레이블이 지정된 데이터셋을 수동으로 만들고 DL 아키텍처를 학습함으로써 ROI를 예측할 수 있습니다. 이 기술의 한 단점은 심층 신경망이 보이지 않는 기위지에서 잘 하나 반화할 수 있도록 레이블이 지정된 데이터 세트가 모든 제품 타입(이 예제에서는 회로보드 타입/칩 타입)을 포함할 수 있을 정도로 명확하고 광범위해야 합니다. 아래 그림을 참조하십시오.


    >


    CNN ROI 발생기 손실기능: 아내 소음에는 다음과 같이 평방거리 기반의 손실함수를 사용했습니다.


    >


    유효성 검사 세트에서 20새 시대에 대한 Resnet50모델을 훈련한 뒤 평균 누락 영역 IOU에서 다소움 유효성 검사 메트릭을 달성했습니다.. ​ Ave.missed area=8.52*하나 0– 3​ Ave. IOU(intersection over union)=0.78개 7​ 여기서 최소 한도 IOU을 개선하고 있습니다.여기에 면적기반손실을 냈습니다.. 아래 그림을 참조해서 기본 수학을 사용하면 사실과 예측 레벨 사이의 교차 영역을 계산하는 비결에 대한 아이디어를 얻으세요.


    >


    상기의 손실 함수는 차별화 가능하므로, 손실 함수에 대해서 경사 하강 최적화를 실시할 수 있습니다. ​ CNN ROI발생기의 기능 보강:예상 ROI에 대한 교육 시각 및 테스트 분석 동안 단지 5%(왼쪽 및 오른쪽)의 여백을 추가했습니다. ​ CNN ROI발병기의 결과(위에서 설명한 대로 영역 기반 손실로 Resnet50(ImageNet의 초기화)토폴로지와 SGD+Nesterov의 모멘텀 옵티마이저를=2,=하나로 사용하셨습니다. 20새 시대에 대한 훈련 후 우리는 검증 세트에 대해서 후 을 달성하고 있으며, 면적 기준 손실 및 확대의 누락이 된 영역·IOU에 대한 검증 메트릭을 개선했습니다(위에서 설명한다). ​ Ave.missed area=3.65*하나 0– 3​ Ave. IOU(intersection over union)=0.8577​의 검토 및 벤치 마크:총 이미지 수:수천 이미지 데이터 분할:고유한 화상만 사용하고 80에서 하나 0에서 하나 0에 분할 사용된 프라이다 워크:PyTorch&Tensorflow/Keras의 가중치 초기화:ImageNet로 사전 훈련 옵티 안 나:학습 속도=0.00하나인 SGD, 운동량=​ ​ 0.9명 Nesterov의 사용 손실:교차 엔트로피 배치 크기:하나 2총 에포크 수:24이미지 형식:224x224x3(299x299x3이 필요한 InceptionV3을 제외)기준:최저 검증 손실 ​ 두가지 어프로치가 있는 두개의 벤치 마크는 매우 비슷하고 CV+DL(1번째)접근 방식의 결과는 DL+DL(2번째)접근 방식보다 약간 나쁘진 않아요. 광범위하고 명시적인 레이블이 지정된 경계상자 데이터 집합을 만들 수 있다면 DL + DL이 더 나빠집니다...교육에 성공하면 모두 엔드 솔루션을 완성하는 추론 솔루션을 찾아야 한다. 우리는 Intel Open Vino 소프트웨어를 사용하여 FPGA, Intel Movidius 등과 같은 CPU 이외의 유형의 하드웨어로 추론을 최적화하였습니다.


    ※해당 링크는 빌드업웍스가 운영하는 Medium이다.


    >


    #빌드업웍스 #딥러닝 #영상데이터 #스마트공장 #품질 #인공지능 #AI


    댓글

Designed by Tistory.