신경망 학습

모든 뷰가 정확하게 라벨링되었으며 학습 이미지와 테스트 이미지로 나뉜 후에, 신경망 학습은 다음 방법으로 실행됩니다:

  1. 도구 매개변수를 설정한 후 학습을 시작합니다. 두뇌 아이콘을 눌러 도구를 트레이닝하십시오. 아키텍처가 Focused일 때, 학습에 이용되는 이미지 Set(학습 Set 대화 상자에서 정의됨)의 각 이미지는 지정된 feature 크기를 이용해 전체 범위에서 샘플링됩니다.
  2. 그 결과의 샘플이 VisionPro Deep Learning의 딥 신경망에 입력됩니다.
  3. 각 샘플마다, 신경망은 특정 응답(도구 유형에 따라 다름)을 생성하며, 이 응답은 학습 이미지 내 샘플의 위치에 연결된 이미지 라벨과 비교됩니다.
  4. 샘플이 프로세싱되고 다시 프로세싱되면서 네트워크 내의 최초 가중치는 반복적으로 조정됩니다. 네트워크 트레이닝 시스템은 지속적으로 네트워크 가중치를 조정하는데, 목표는 네트워크의 응답과 사용자가 제공한 라벨 간의 오류(차이 또는 격차)를 줄이는 것입니다.
  5. 전체 프로세스는, 모든 트레이닝 이미지의 모든 샘플이 Epoch 횟수에 지정된 횟수 이상 포함될 때까지, 여러 번 반복됩니다.

 

 

  1. 샘플링 영역.

  2. 사용자가 작성한, 라벨이 지정된 결함 영역.

  3. 신경망.

  4. 네트워크의 응답.

  5. 라벨링 된 결함 (노란색)과 네트워크 응답 (파란색) 간의 불일치, 즉 오류를 줄이기 위해 가중치를 조정하는 반복 프로세스입니다.

 

신경망 학습의 구체적인 특징은 트레이닝 중인 도구 유형에 따라 다릅니다. 트레이닝의 목표는 단순합니다. 트레이닝 이미지 Set의 모든 샘플에 대해 아무 응답도 생성하지 않는 네트워크를 만드는 것입니다. 비지도 모드의 Red 분석 도구 신경망은 비정상을 찾기 위해 양호 이미지들을 사용해 학습됩니다. 비지도 모드에서 Red 분석 도구의 트레이닝 이미지 Set는 결함이 없는 것으로 알려진 이미지의 Set입니다.

 

  • 샘플링 영역과 샘플링 매개변수

    샘플링 영역은 사용자들이 샘플링 매개변수를 조정해 결정하며, Red 분석 도구 Focused 비지도 모드은 이 샘플링 영역에 기반한 샘플러로 픽셀을 샘플링합니다. 따라서 학습을 시작하기 전에 샘플링 매개변수를 설정하여 샘플링 영역을 결정해야합니다. 샘플링 영역에 결함 픽셀이 포함되어 있지 않다면, 네트워크는 아무런 응답을 생성하지 않을 것입니다.

  • 검증(Validation)을 활용한 트레이닝

    Red 분석 도구 Focused 비지도 모드는 validation을 활용한 트레이닝을 지원하지 않으며 따라서 validation 데이터 세트가 없고 도구 매개변수에서 validation 세트를 설정할 필요가 없습니다. validation 데이터를 사용하는 이유는 트레이닝된 각 신경망을 검증(validate)하여 그 검증 결과를 가지고 주어진 트레이닝 세트에서 가장 안정적이며 높은 성능을 보이는 신경망을 선택하는 것입니다.

 

도구 매개변수 설정

Deep Learning 도구를 추가하고 나면, 학습에 앞서 도구 매개변수에 액세스해 도구의 성능을 조정하고, 런타임 작업 중에 도구가 이미지를 어떻게 프로세싱할지 조정할 수 있습니다. VisionPro Deep Learning 도구 매개변수들은 신경망 모델이 트레이닝되는 과정과 도구가 통계값을 계산하는 과정을 제어합니다.대부분의 응용 프로그램에서 조정할 수 있는 공통적인 매개변수는 다음과 같습니다.

  • Feature Size(Feature 크기)
  • 트레이닝 셋
  • 변화
  • Sampling Density(샘플링 밀도)

 

Tip: 일반적으로 매개변수 기본값 설정이 대개의 이미지 Set에 잘 적용됩니다. 최초 트레이닝 시에는, feature 크기 매개변수를 설정하는 이외에 다른 매개변수를 조정하지 말고 트레이닝해 보십시오.

 

아키텍처 매개변수

아키텍처 매개변수는 사용할 신경망 모델 종류를 결정합니다. 이 옵션은 학습과 프로세싱이 더 오래 걸려도 더 정밀한 결과를 얻고 싶을 때 유용합니다. High Detail과 High Detail Quick 아키텍처는 도구가 이미지 전체를 동일하게 고려하는 반면, Focused 모드는 이미지에서 유용한 정보가 있는 일부분에만 집중합니다. 그러므로, Focused 모드는 네트워크가 정보를 놓칠 수 있으며, 특히 이미지 전체에서 중요한 세부 사항이 있을 경우 그 가능성이 큽니다.

 

네트워크 모델 매개변수

네트워크 모델 매개변수를 이용하면 트레이닝된 도구 네트워크의 크기를 줄일 수 있으며, 이렇게 하면 프로세싱에 필요한 시간이 줄어듭니다. 기본값('대')은 표준 도구 행태 및 성능을 유지합니다. 다른 두 가지 값('소' 및 '중')을 런타임 실행이 점진적으로 빨라집니다.

대 이외의 값을 선택하면 도구의 결과가 달라질 수 있습니다. 대개 이 차이는 크지 않지만, 이 옵션을 이용할 때는 사용자의 라벨 지정 데이터를 이용해 도구 성능을 확인해야 합니다.

 

샘플링 매개변수

Feature란 이미지 데이터에서 사용자가 중요하게 생각하는 픽셀, 혹은 사용자의 머신 비전 문제를 해결하여 특정한 목적을 달성하는 데 핵심적인 픽셀입니다. 예를 들어, Red 분석 도구에서 feature는 뷰에 있는 정상/결함 픽셀일 수 있습니다.

Focused 모드 도구를 효과적으로 트레이닝하려면 Feature들이 어떤 모습, 속성을 띄는지 최대한 상세한 내용을 도구에 제공해야 합니다. 이는 샘플링 매개변수를 설정함으로 이루어집니다. Focused 도구는 뷰에서 픽셀 정보를 샘플링하는 특징 샘플러를 사용하며, 샘플링 매개변수를 설정하면 이 특징 샘플러에 샘플링해야 할 또는 하지 말아야 할 feature들 속성을 알려줄 수 있습니다.

Note: 샘플링 매개변수들은 트레이닝 결과에 영향을 미치므로 다른 트레이닝 매개변수들(네트워크 모델 매개변수, 트레이닝 매개변수, 변화 매개변수)들과 함께 트레이닝 시작 전에 설정되어야 합니다.
Note: High DetailHigh Detail Quick 아키텍처 기반 도구들은 feature 설정이 필요하지 않는데, 이는 이 도구들이 뷰 전체에서 픽셀 정보를 샘플링하기 때문입니다. 따라서 이들은 샘플링 매개변수로 설정하는 특징 샘플러가 필요하지 않습니다.

 

샘플링 도구 매개변수는 트레이닝과 프로세싱 시 이미지를 샘플링하는 방법을 제어합니다.

매개변수 설명

Feature Size(Feature 크기)

전형적인 feature의 지름을 픽셀 단위로 지정합니다. Feature 크기 매개변수는 이미지의 좌측 하단에 그래픽으로 표시되며, 이미지 내에서 그래픽을 이용해 크기를 변경할 수 있어 더 정확한 크기를 지정할 수 있습니다.

Feature 크기는 프로세싱 시간(n2)에 큰 영향을 미칩니다. Feature 크기가 100이면 10일 때에 비해 100배 빠르며, 15 이하의 feature 크기는 대개 좋은 결과를 얻지 못합니다.

Feature 크기를 설정할 때, 프로세싱 시간(Ptime)에 대해 다음을 고려하십시오.

Note: 도구는 실제로 feature 크기 설정의 5배 크기인 영역을 봅니다. 하지만, feature의 중심부는 주변부에 비해 상세화 정도가 매우 높습니다.

Color(컬러)

이미지를 샘플링할 때 이용할 컬러 채널의 수를 지정합니다. 1로 설정하면 컬러 이미지가 회색조로 변환됩니다.

  1. 이미지를 회색조로 처리
  2. 2채널 이미지(스펙트럴 이미지, 회색+알파)
  3. BGR 이미지
  4. BGR(A) 이미지
Note:
  • 이미지가 RGB(A)이면, 회색조로 변환됩니다. 계산 상의 효율(메모리 할당, 전송, 파일 저장, 색상 변환 등)을 위해, 항상 정확한 수의 채널로 설정하십시오. VisionPro Deep Learning 도구는 BGR channel 오더를 사용합니다.
  • 응용 프로그램이 컬러 이미지에 의존하면, 가능한 한 최소의 필요 색상 채널을 이용하고, 이미 정확한 수의 채널을 갖고 있는 이미지만을 전송해 변환을 회피하십시오. 이는 다음 때문입니다.

이미지 채널 수 트레이닝 채널 수 설명
1(회색조) 1 회색조 이미지에 맞는 설정.
1 2, 3, 4 이는 트레이닝 오류를 만들 가능성이 매우 큽니다.
2 1 도구가 첫 번째 채널만을 이용합니다.
2 2 도구가 완전한 픽셀 정보를 이용합니다.
2 3, 4 이는 트레이닝 오류를 만듭니다.
3(BGR) 1 이렇게 하면 BGR이 회색조로 변환됩니다.
3 2 도구가 처음 두 채널(즉, B와 G)만을 이용합니다.
3 3 도구가 완전한 픽셀 정보를 이용합니다.
3 4 이는 트레이닝 오류를 만들 가능성이 매우 큽니다.
4(BGRA) 1 이렇게 하면 BGRA가 회색조로 변환됩니다.
4 2 도구가 처음 두 채널(즉, B와 G)만을 이용합니다.
4 3 도구가 처음 세 채널(즉, B, G, R)만을 이용합니다.
4 4 도구가 완전한 픽셀 정보를 이용합니다.

Border Type(경계 유형)

이미지 외부의 픽셀을 어떻게 샘플링할지 지정합니다.

Tip: 이미지의 경계에 추가 마스크를 추가하면 오류 검출률이 크게 낮아집니다.
  • Black:이미지 외부를 단색(검은색)으로 채웁니다.

  • Replicate: 마지막 픽셀로 이미지 외부를 채웁니다.

Masking Mode(마스킹 모드)

샘플링된 이미지에 마스크를 어떻게 적용할지 지정합니다. 마스크는 도구가 처리하는 영역을 제한하기 위해 이용됩니다.

Note: 마스크는 트레이닝 이후에 설정해도 되지만, 트레이닝 이전에 설정하면 학습 단계에 도움이 됩니다.
  • Transparent: 샘플은 이미지 중 마스킹되지 않은 부분에서만 수집되지만, context 영역의 데이터는 마스킹된 부분에서도 수집됩니다. 이렇게 함으로써 마스크나 ROI의 경계에 있는 feature나 결함이 중심에 위치한 feature 또는 결함과 동일한 응답을 가져오게 됩니다.
  • Mask:마스크를 이용하면 마스킹된 영역을 무시하게 됩니다. 마스킹된 픽셀은 모두 0으로 설정되어, 트레이닝 또는 런타임 중 이미지에서 마스킹된 부분의 데이터는 고려되지 않습니다. 하지만, 동시에 마스크 경계에 가까운 결함 또는 feature에 대한 도구의 반응이 달라집니다. 이 설정은 도구가 ROI의 중심에 집중하게 할 때도 이용됩니다.
  • Overlay: 추가적인 컬러 채널로 샘플 이미지에 마스크를 적용합니다.

Centered (원형대칭)

이 매개변수는 뷰의 중심에 대해 원 대칭성이 있는 개체가 검사에 포함될 때 이용할 수 있으며, 이 경우 해당 개체가 실질적으로 회전하지 않기 때문에 학습 모델이 단순해집니다.

Note:
  • 경계 유형, 마스킹 모드, 원형 대칭 매개변수는 전문가 모드가 활성화되었을 때만 이용할 수 있습니다. 이는 도움말 메뉴에서 활성화합니다.
  • 도구가 트레이닝된 후 샘플링 매개변수를 변경하면, 기반이 되는 이미지 통계량이 근본적으로 변할 수 있어 트레이닝이 무효로 되며, 도구를 다시 트레이닝해야 합니다.

 

샘플링 매개변수 상세 정보: Feature 샘플링 원리

Green 분류 도구의 Focused 모드, Red 분석 도구의 Focused 모드, Blue 위치 그리고 Blue 읽기 도구는 도구는 입력 이미지를 균일하게 샘플링하지 않습니다 (이미지 샘플링이 전체 이미지 범위를 포함하더라도). 트레이닝 중에는 이 도구들이 특별한 기법을 이용해, 네트워크에 추가적인 정보를 기여할 가능성이 크다고 판단된 이미지의 부분을 더 높은 비율로 샘플링합니다.

샘플 영역 주위의 정보 및 context 정보를 모두 이용해 네트워크 트레이닝을 수행하므로, 도구는 이미지의 가장자리에서 수집된 샘플에 큰 영향을 받을 수 있습니다. 이미지 내의 뷰를 이용할 경우, 뷰의 가장자리에서 수집된 샘플에 대한 context 정보는, 뷰 외부의 픽셀을 context 데이터로 이용할 것입니다.

1

Feature Size(Feature 크기)

2

Sample Region(샘플 영역)

3

Context Region(Context 영역)

샘플이 이미지 자체의 가장자리에 있다면, 도구는 context로 이용할 합성 픽셀을 생성합니다. 사용자는 마스크, 경계, 샘플 컬러 채널(각각 경계 유형, 컬러 이용)을 이용해 여기 이용되는 구체적인 방법을 제어할 수 있습니다.

또한 도구들을 쓸 때 샘플링 시 마스크를 적용할 수도 있습니다. 마스크 처리된 영역이 context로 프로세싱되는 경우라도, 사용자는 이를 통해 이미지의 일부를 명시적으로 제외할 수 있습니다.

마지막으로, 컬러 이미지(또는 다수의 평면 또는 채널이 있는 이미지)를 이용하는 경우, 어떤 채널을 샘플링할지 명시적으로 지정할 수 있습니다. 다수 채널을 사용하는 것은 트레이닝 및 프로세싱 시간에 큰 영향을 미치지 않지만, 컬러가 이미지에서 중요한 정보를 제공하는 경우 도구의 정확도를 높이는 데 도움이 됩니다.

Note: 다음 방법을 통해 이미지 경계를 처리하기위한 대체 방법으로 마스킹 모드 매개변수를 사용할 수 있습니다. 이미지의 경계를 마스킹하면 도구가 컨텍스트에 대해 합성 픽셀 생성이 필요한 이미지 샘플을 수집하지 않도록 할 수 있습니다.

 

샘플링 매개변수 상세 정보: Feature 샘플링과 Feature 크기

Green 분류 도구의 Focused 모드, Red 분석 도구 Focused 모드, Blue 위치 그리고 Blue 읽기 도구는 사용자가 지정한 feature 크기에 의해 이미지를 분석합니다. 픽셀 단위로 지정되는 feature 크기는 input 이미지 안에 있는, "의미 있는" 또는 "독특한" feature의 크기 기대치에 대한 힌트를 도구에 줍니다. Feature 크기를 선택하는 최선의 방법은 인간 검사자인 것처럼 input 이미지를 검토하는 것입니다. 이미지 안의 feature는 이미지가 정상인지 불량인지 특징 짓기 위해, 또는 결함 또는 문제를 식별하거나, 어디에 무엇이 있고 그것이 무엇인지 결정하기 위해 이용한다는 점에 유념하십시오.

예를 들어, 항공기 그림을 엔진 수에 기초해 분류하고자 한다면, feature 크기는 항공기 엔진의 대략적인 크기에 기초하게 될 것입니다.

트레이닝과 런타임 모두, 해당 도구는 이미지 내 하부 영역의 픽셀과 해당 영역 주위의 context 정보에 부합하는 샘플을 이미지에서 수집할 것입니다. Context 영역은 대략 feature 크기의 5배입니다.

1

Feature Size(Feature 크기)

2

샘플 영역

3

Context Region(Context 영역)

 

Feature 크기 지정은 주관적 판단이지만, 몇 가지 구체적인 지침이 있습니다. 비지도 모드 또는 지도 모드의 Red 분석도구의 경우 feature 크기는 대략적으로 전형적인 결함의 크기와 같아야 합니다. 줄, 자국, 긁힘, 마모 등 가늘고 긴 결함의 경우, feature 크기는 대략적으로 feature의 폭와 같아야 합니다.

1

결함

2

Feature Size(Feature 크기)

Note: Feature 크기와 도구 학습/프로세싱 속도와의 관계에 대한 자세한 내용은 Feature 크기 최적화 항목을 확인하십시오.

 

트레이닝 매개변수

트레이닝 도구 매개변수는 트레이닝 과정을 제어합니다. 도구를 트레이닝한 후 트레이닝 도구 매개변수를 변경한다면, 해당 트레이닝이 무효화되고 해당 도구를 다시 트레이닝해야 합니다.

매개변수 설명

트레이닝 셋

학습 세트 대화 상자를 띄웁니다. 새로운 학습을 시작할 때마다 신경망의 학습 샘플로 무작위 선택할 샘플 Set 및 라벨 지정된 이미지의 백분율을 지정하는 데 이 대화 상자를 이용합니다.

Epoch 횟수

트레이닝 중 수행할 최적화의 반복 횟수를 지정합니다. 응용 프로그램의 복잡도가 제한적이거나, 다양한 매개변수 설정을 테스트하기 위해 품질이 낮은 모델이 유용한 경우에는 이 값을 낮출 수 있습니다.

Epoch는 전체 학습 세트를 신경망에 넘겨주는 것을 지칭하는 용어입니다.

해당 도구들은 트레이닝 이미지 Set 데이터를 대략 50회 정도 보아야 합니다(그리고 정밀 조정 영역에 있어야 합니다). 따라서 50이 기본 설정이며, 이는 일반적으로 대부분의 표준 응용 프로그램에 충분합니다.

더 적은 epoch을 사용하도록 선택하면 신경망이 트레이닝에 갇히거나 문제를 정확하게 해결할 수없는 반면 너무 많은 epoch는 결과를 과적합 (일명 오버 트레이닝) 할 수 있습니다. (즉, 학습 이미지만 학습합니다, 학습된 이미지 이외의 것은 무효로 간주됩니다.) 트레이닝 이미지 Set를 이용해 일반화될 때까지 네트워크를 트레이닝하는 것이 중요합니다. Epoch를 지나치게 늘리면, 트레이닝 이미지 Set를 오버피팅 또는 오버트레이닝할 위험을 감수해야 합니다.

Tip:
  • 트레이닝 이미지 Set에 이미지가 많거나, 트레이닝 이미지 Set의 이미지 크기가 feature 크기에 비해 크다면, Epoch 횟수 설정을 늘려야 할 수도 있습니다.
  • 트레이닝 이미지 Set가 매우 작다면 오버피팅의 위험이 있습니다. 트레이닝 이미지 Set가 크고 네트워크가 Set 내 모든 샘플을 다루는 경우, 트레이닝 이미지 Set가 작고 네트워크가 그 샘플 Set에 들어 있는 경우보다 네트워크가 훨씬 더 일반적입니다.

Capacity

시각적 복잡성의 다양한 정도를 설명할 수 있는 모델의 능력을 지정합니다. 매우 단순한 패턴의 경우에는 capacity를 작게 선택해야 오버피팅을 막을 수 있습니다. 복잡한 이미지나 개체의 경우 언더피팅을 막기 위해 capacity 설정이 커야 합니다.

Training Passes(트레이닝 패스)

여러 이미지에 걸치거나 이미지의 상이한 영역 내에서 불균일하게 분포된 복잡성이 있는, 통계적으로 어려운 문제를 더 잘 다루기 위해 수행할 반복 트레이닝의 수를 지정합니다. 이 매개변수는 뷰에 복잡성이 있는 곳으로 도구를 안내할 때 도움이 됩니다. 이는 뷰가 다수의 독특한 구조적 영역을 갖고 있는 경우 유용합니다. 알고리즘이 복잡도가 낮은 영역(예: 흰색 배경에 디테일이 없는 곳)은 무시하고, 복잡도가 높은 영역(예: 선 및 기타 정교한 디테일)에 집중하게 합니다.

복잡한 영역 =

단순한 영역 =

트레이닝 패스 설정이 크면, 도구는 이미지의 복잡한 영역에 집중합니다. 트레이닝 시간은 증가하지만, 프로세싱 시간은 동일하게 유지됩니다.

Low Precision(낮은 Precision)

트레이닝 후 도구가 Precision이 낮은 모델을 생성할지 여부를 지정합니다. Precision이 낮은 모델은 런타임 작업 중 속도 최적화가 우선시되는 응용 프로그램에서 유용합니다. 두 가지 작업 모드 사이의 결과가 다를 가능성이 있습니다.

이를 활성화하면, 해당 도구 아이콘에 흰색 번개 아이콘이 추가됩니다.

Note:
  • 체크박스에 체크하기 이전에 도구가 트레이닝되었다면, 도구를 다시 트레이닝하도록 요청할 것입니다. Precision이 낮은 모델을 활성화하기 전에 체크박스를 지웠어도, 도구를 다시 트레이닝해야 합니다.
  • Precision이 낮은 모델은 표준 또는 고급 VisionPro Deep Learning 라이센스 라이센스가 필요하며, CUDA 컴퓨팅 역량 6.1 이상(자세한 내용은 NVIDIA 웹사이트 참고)이 필요합니다.

 

학습 매개변수 상세 정보: Epoch 횟수

Epoch 횟수 매개변수를 이용하면 네트워크 개선을 얼마나 할지 제어할 수 있습니다. 신경망 학습 항목에 설명된대로 학습 프로세스는 네트워크를 통해 입력 샘플을 반복적으로 처리하고 네트워크 결과를 사용자 제공 레이블과 비교 한 다음이 오류를 줄이기 위해 네트워크 가중치를 조정합니다. 네트워크 노드의 수와 이에 따른 가중치의 수가 많으므로, 이 과정은 거의 무한하게 반복되며, 각 반복 단계마다 점진적으로 오류가 개선됩니다. Epoch 횟수 매개변수 설정을 늘리면, 수행하는 트레이닝의 반복 회수가 늘어납니다. 이렇게 하면 이미지 트레이닝 시간이 늘어나는 대신 트레이닝의 네트워크 오류가 줄어듭니다.

하지만, 트레이닝에 사용되는 이미지만이 아니라 모든 이미지에 대해 정확하게 수행하는 것이 네트워크 트레이닝의 목적입니다. Epoch 횟수가 늘어나면, 네트워크는 오버피팅(VisionPro Deep Learning 용어)이 발생할 수 있는데, 이는 학습된 이미지의 오류가 줄어들면서 동시에 학습되지 않은 이미지의 오류가 늘어나는 현상입니다. 이러한 이유로, Epoch 횟수를 조정하면서 모든 이미지에 대한 네트워크 성능을 주의 깊게 지켜봐야 합니다. 데이터셋마다 최적 값이 다르고, 특히 데이터셋의 통계적 다양성에 따라 최적값이 다르기 때문에, 사용하는 데이터셋에 맞는 최적 Epoch를 선택해야 합니다.

 

학습 매개변수 상세 정보: Capacity

비지도 모드의 Red 분석 도구에서는 capacity 매개변수도 이용할 수 있습니다. 일반적으로 신경망의 capacity는 네트워크가 부호화(학습)할 수 있는 정보의 양을 나타내는 지표입니다. Deep Learning 네트워크 아키텍처는 Blue 위치, Blue 읽기, Green 분류, (지도 모드의) Red 분석 도구에 대한 capacity 제약이 적습니다. 이 도구들은 트레이닝된 네트워크를 통해 개별 샘플을 프로세싱하기 때문입니다. 이에 비해, 비지도 모드의 Red 분석 도구는 전체 이미지에서 트레이닝되지 않은 결함을 검출할 수 있도록 상이한 네트워크 아키텍처를 이용합니다. 이 도구에서는 복합도가 높은 일부 이미지는 언더피팅되면서 복합도가 낮은 일부 이미지는 오버피팅될 수 있습니다. 그러므로 적절한 네트워크 capacity를 선택함으로써 주어진 이미지 Set에 대해 도구의 학습을 최적화할 수 있습니다.

 

변화 매개변수

VisionPro Deep Learning 신경망은 이미지 내에서 실제로 보이는 feature만을 학습하도록 트레이닝할 수 있습니다. 이상적인 세계에서는, 트레이닝 이미지 Set가 정상적인 이미지와 부품 변동을 모두 표현할 수 있는 대표적인 이미지 Set가 될 것입니다. 하지만, 대개의 경우 대표성이 없는 이미지 Set로 트레이닝을 해야 합니다. 특히, 이미지 Set는 단기간에 수집되므로, 시간에 따른 정상적인 부품과 조명의 변동, 카메라의 광학적, 외부적 특성의 변경 또는 조정 등은 반영되지 않는 경우가 많습니다.

VisionPro Deep Learning 트레이닝 시스템에서 사용자는 다음과 같은 변화 매개변수를 이용해 실제 작업 중 예상되는 외관 변동을 지정함으로써, 이미지 Set을 보완할 수 있습니다:

  • Luminance(밝기)
  • Contrast(명암대비)
  • Rotation (회전)
  • Scale(크기)

 

변화 매VisionPro Deep Learning개변수를 이용하면, 도구가 인공적으로 트레이닝할 이미지를 생성하므로, 변화량이 큰 응용 프로그램의 결과를 개선할 수 있습니다. 다음 매개변수들은 모든 도구에 공통입니다. 변화 매개변수는 결합할 수도 있습니다. 이렇게 하면 매개변수를 별개로 이용하거나 결합하여 이용함으로써 더욱 복잡한 이미지를 생성할 수 있습니다.변화 매개변수들은 여러 종류를 함께 사용할 수도 있습니다. 이렇게 하면 매개변수를 별개로 이용하거나 결합하여 이용함으로써 더욱 복잡한 이미지를 생성할 수 있습니다.

Tip: 학습 세트에 런타임 중 나타날 수 있는 변동이 포함되어 있지 않다면, 변화 매개변수를 이용할 수 있습니다. 예를 들어, 부품이 +/-45도 회전할 것으로 예상된다면, 회전 매개변수를 설정할 수 있으며, 이렇게 하면 소프트웨어는 학습 중에 해당 각도만큼 이미지를 회전할 것입니다. 하지만 Cognex는 최선의 결과를 얻기 위해 실제 부품 변동의 샘플 이미지를 이용하도록 권장합니다. 부품이 회전하면, 음영이 달라지며, 인위적으로 이미지를 돌린 회전에서는 이러한 음영의 차이가 도구에 캡처되지 않기 때문입니다.
Note: 변화로는 실제 이미지를 수집하고 트레이닝하는 것을 대체할 수 없습니다. 특히, 이미지 변화는 실제 부품의 외관 또는 장면의 실제 변화를 대략적으로 나타내는 이상이 될 수 없습니다.

 

각 변화 유형별로, 사용자는 변동의 범위를 지정할 수 있습니다.

매개변수 설명

Rotation (회전)

가능한 방향을 지정해, 회전 각도 변동을 유도할 구간별 균등 분포를 정의합니다([0°,0°]로 설정하면 회전 변화가 적용되지 않습니다).

예를 들어, [-10°, 10°] 또는 [170°, 190°]로 설정하면, -10도에서 10도 사이, 또는 170도에서 190도 사이의 부품이 검출됩니다. 이러한 설정은 부품의 방향을 정규적인 방향으로 지정하거나 작은 각도의 변동이 있으면서 위 아래가 바뀌지만 그 사이는 아니게 지정할 수 있는 경우에 특히 유용합니다.

Scale(크기)

1을 평균으로 하는 정규 분포를 지정하여 크기의 변동 요인을 추출합니다(0%로 설정하면, 적용되지 않습니다).

예를 들어, 크기를 100%로 설정하면, 원래 이미지 크기의 반부터 두 배까지(원래의 0.5x부터 2.0x까지)의 이미지를 제공합니다.

기존 = 가능한 변화 =

Aspect-Ratio(종횡비)

1을 평균으로 하는 정규 분포를 지정하여 종횡비의 변동 요인을 추출합니다(0%로 설정하면, 적용되지 않습니다).

Shear(기울이기)

1을 평균으로 하는 정규 분포를 지정하여 기울이기의 변동 요인을 추출합니다(0%로 설정하면, 적용되지 않습니다).

Flip(반전)

샘플링 중 이미지의 무작위 반전을 수직, 수평, 수직/수평 모두 중 어느 방향으로 할지 선택합니다. 이는 개체 또는 표면에 해당 대칭성이 있을 때 유용합니다.

이 설정을 이용하면 트레이닝 데이터 양을 크게 늘릴 수 있습니다.

수평
수직
둘 모두

Luminance(밝기)

1을 평균으로 하는 정규 분포를 지정하여 밝기의 변동 요인을 추출합니다(0%로 설정하면, 적용되지 않습니다)..

Contrast(명암대비)

1을 평균으로 하는 정규 분포를 지정하여 명암대비의 변동 요인을 추출합니다(0%로 설정하면, 적용되지 않습니다).

Invert Contrast(대비 반전)

트레이닝 샘플에 명암대비 반전을 시뮬레이션하기 위해 무작위로 명암대비를 반전할지 여부를 선택합니다.

Note: 명암대비 반전 매개변수를 이용하려면 전문가 모드를 이용해야 합니다. 이는 도움말 메뉴에서 활성화합니다.

 

마지막으로 사용한 매개변수 복원: 매개변수 복원

매개변수 복원 버튼은 도구 파라미터 값을 마지막 트레이닝 작업에서 선택했던 값으로 쉽게 되돌릴 수 있도록 설계되었습니다. 마지막 트레이닝 시 사용된 도구 파라미터의 값을 기억합니다. 값을 변경하고 이 변경 사항을 되돌리려면 버튼을 클릭하여 마지막 트레이닝 시 사용된 도구 파라미터 값으로 돌아갈 수 있습니다. 다만, 도구를 트레이닝 한 적이 없거나 도구 파라미터 값의 초기 세팅에서 변경 사항이 없으면 비활성화 상태로 유지됩니다.

다음은 매개변수 복원의 작동 방식을 설명합니다:

  1. 현재 도구가 트레이닝 되지 않은 경우에는 매개변수 복원 버튼은 비활성화 상태로 유지됩니다.

  2. 현재의 도구가 학습이 이루어지고, 파라미터의 값을 변경하면 버튼이 활성화됩니다. 파라미터 원복의 체크 포인트가 마지막 트레이닝 시의 파라미터 값으로 설정됩니다.

  3. 매개변수 복원 버튼을 클릭하면 변경된 파라미터는 체크 포인트 값으로 되돌아 갑니다.

  4. 파라미터를 일부 변경하여 현재 도구를 다시 트레이닝 하면, 파리미터 원복의 체크 포인트가 변경된 트레이닝 값으로 업데이트됩니다. 다시 말하면, 도구 매개 변수의 값을 다시 변경하지 않으면 버튼이 비활성화됩니다.

  5. 다른 변경을 한 후 매개변수 복원 버튼을 다시 클릭하면 변경된 값이 업데이트 된 체크 포인트 값으로 되돌아 갑니다.

프로세싱 파라미터의 값을 변경한 후 트레이닝한 도구를 다시 프로세싱(만)하면 파라미터 원복의 체크 포인트가 업데이트되지 않으므로 매개 변수 복원이 활성화됩니다. 체크 포인트는 트레이닝이 완료된 후에만 업데이트됩니다.

비 활성화

활성화

Note: 마지막 트레이닝 시의 값으로 복원할 수 없는 파라미터는 다음과 같습니다.
  1. 변경하면 도구가 리셋되는 비가역적 파라미터

    1. 네트워크 모델, 배타적, Feature 크기, 마스킹 모드, 컬러, 원형대칭, 스케일 변화, S스케일 변화 모드 (균일/비균일), 레거시 모드, 방향, 디테일

  2. 본질상 이 매개변수들은 비가역적임

    1. 낮은 Precision, Simple Regions

  3. 기타 비가역적 매개변수들

    1. 트레이닝 Set, Green 분류 High Detail 및 Green 분류 도구 High Detail Quick 모드의 히트맵 (이 파라미터는 성능에 영향을 주지 않음)

    2. 읽기 도구에서 마스킹 모드의 Overlay 파라미터

 

신경망 트레이닝 제어

Red 분석 도구 Focused 비지도 모드 학습은 도구 매개변수와 학습 세트를 설정함으로 조정할 수 있습니다.

 

트레이닝 셋

네트워크 학습 단계에 가장 큰 영향을 미치는 요소는 학습 Set 구성입니다. 네트워크 학습 단계를 제어하는 최선의 방법은 해당 도구에 대한 적절한 학습 Set를 구축하는 것입니다. 이렇게 함으로써, 해당 도구가 이미지/뷰를 적절히 일반화하는지 여부를 판단할 수 있도록 이미지/뷰를 범주로 분류할 수 있습니다.

Note: 트레이닝과 프로세싱 속도를 높이는 방법은 속도 최적화에서 확인하십시오.
Note: 트레이닝, 프로세싱에 관한 일반적인 팁과 도움말은 응용 프로그램 설계을 확인하십시오.