Architecturas | cnn 이미지 분류 예제

cnn 이미지 분류 예제

네트워크는 비선형 및 풀링 레이어와 혼합된 여러 컨볼루션 네트워크로 구성됩니다. 이미지가 하나의 컨볼루션 레이어를 통과하면 첫 번째 레이어의 출력이 두 번째 레이어의 입력이 됩니다. 그리고 이것은 모든 추가 컨볼루션 레이어에서 발생합니다. 안녕하세요, 테스트 세트에 각 이미지에 대한 실제 클래스를 알고 있는 경우, 즉 테스트 세트의 각 이미지에 대한 실제 클래스를 알고 있는 경우 먼저 학습된 모델을 사용하여 테스트 이미지에 대한 예측을 한 다음 예측된 클래스를 실제 클래스 또는 tes에 대해 가지고 있는 레이블과 비교할 수 있습니다. t 세트. 정확도, 정밀도 또는 회수 등과 같은 여러 평가 메트릭을 사용하여 예측값을 실제 레이블과 비교할 수 있습니다. 이 기능을 사용하면 분류자가 이미지가 있는 디렉터리 이름에서 레이블을 직접 식별할 수 있습니다. 이제 이미지에서 컨볼루션 작업이 완료된 후 얻는 결과 피처 맵에서 풀링 작업을 수행해야 합니다. 풀링 작업의 주요 목표는 이미지 크기를 가능한 한 줄이는 것입니다. 이러한 단계에서 어떤 일이 발생하는지 더 자세히 이해하려면 외부 리소스를 몇 개 읽어야 합니다. 그러나 여기서 이해해야 할 중요한 점은 다가오는 레이어의 총 노드 수를 줄이려고 한다는 것입니다.

따라서 이미지를 신경망에 맞추기 전에 기본적으로 교육 데이터를 합성하는 이미지 보강을 수행해야 합니다. 우리는 합성 부분을 수행하기위한 keras.preprocessing 라이브러리를 사용하여이 작업을 수행할뿐만 아니라 디렉토리의 이름이 레이블로 수행되는 제대로 구조화 된 디렉토리에 있는 이미지의 테스트 테스트 세트뿐만 아니라 교육 세트를 준비할 것입니다. 모든 이미지가 그 안에 있습니다. 예: `고양이` 폴더 에 있는 모든 이미지는 keras에 의해 고양이로 간주됩니다. 필터라는 픽셀의 작은 패치를 가지고 해당 근처의 위치에 일치하여 일치하는지 확인합니다. 이렇게 하면 컨볼루션 신경망이 전체 이미지와 직접 일치시키려는 것보다 유사성을 훨씬 더 잘 볼 수 있습니다. Image_to_array는 PIL 형식의 이미지가 3D Numpy 배열을 반환한다는 것을 의미하며, 이 배열은 추가로 모양을 변경합니다. 이미지는 높이와 너비가 있는 픽셀 배열로 구성됩니다. 회색조 이미지에는 채널이 하나만 있고 색상 이미지에는 세 개의 채널(각각 빨간색, 녹색 및 파란색)이 있습니다. 채널이 서로 겹치게 됩니다. 이 자습서에서는 하나의 채널만 있는 그레이스케일 이미지를 사용합니다.

각 픽셀의 값은 0에서 255까지로 색상의 강도를 반영합니다. 예를 들어 픽셀이 0과 같을 때 흰색이 표시되고 값이 255에 가까운 픽셀은 더 어두워집니다. 위에서 언급 한 값으로 간단한 함수를 고려했습니다.