0

이미지로 변환하는 PDF 문서에서 일부 이미지 분류를 찾고 있습니다. 나는 tensorflow inception v3 pre trained model을 사용하고 있고 tensorflow tuto 다음에 내 자신의 카테고리로 마지막 레이어를 재교육하려고합니다. 카테고리 당 1000 개의 교육 이미지와 4 개의 카테고리 만 있습니다. 20 만 반복으로 나는 나쁘지 않다 성공적인 분류의 90 %까지 도달하지만 여전히 몇 가지 작업이 필요 할 수 있습니다 enter image description hereTensorflow 및 개시가있는 고화질 이미지 교육 V3 사전 학습 된 모델

여기서 문제는이 사전 교육을받은 모델은 입력 만 300 *의 300P 이미지를 소요입니다. 분명히 문서에서 인식하려고하는 기능과 관련된 문자를 많이 사용합니다.

더 나은 해상도로 이미지를 제공 할 수 있도록 모델 입력 레이어를 변경할 수 있습니까?

집에서 만든 간단한 모델로 더 좋은 결과를 얻을 수 있습니까?

그렇다면 이미지 분류를위한 모델을 어디에 만들어야합니까?

답변

0

사전 훈련 된 모델과 다른 이미지 해상도를 사용하려면 컨볼 루션 블록 만 사용하고 새 크기와 관련하여 완전히 연결된 블록 세트를 사용해야합니다. Keras와 같은 고급 라이브러리를 사용하면 훨씬 쉽게 사용할 수 있습니다. 아래는 Keras에서이를 수행하는 방법에 대한 예제입니다.

import keras 
from keras.layers import Flatten,Dense,GlobalAveragePooling2D 
from keras.models import Model 
from keras.applications.inception_v3 import InceptionV3 

base_model = InceptionV3(include_top=False,input_shape=(600,600,3),weights='imagenet') 
x = base_model.output 
x = GlobalAveragePooling2D()(x) 
x = Dense(1024,activation='relu')(x) 
#Add as many dense layers/Fully Connected layers required 
pred = Dense(10,activation='softmax')(x) 
model = Model(base_model.input,pred) 

for l in model.layers[:-3]: 
    l.trainable=False 

input_top = False은 컨볼루션 블록 만 제공합니다. input_shape=(600,600,3)을 사용하여 원하는 모양을 설정할 수 있습니다. 그리고 두 개의 조밀 한 블록/완전히 연결된 블록/레이어를 모델에 추가 할 수 있습니다. 마지막 레이어에는 필요한 카테고리 수가 포함되어야합니다 .10은 클래스 수를 나타냅니다.이 방법을 사용하면 컨볼 루션 레이어와 관련된 모든 가중치를 사용합니다 마지막으로 조밀 한 층만 훈련하십시오.

+0

정성 들여 주시겠습니까? 초기 모델의 컨볼 루션 블록을 재사용해도 모든 것을 수정해야만 새로운 크기에 적응할 수 있을까요? "새로운 크기와 관련하여 완전히 연결된 블록 집합"이 있다는 것은 무엇을 의미합니까? Keras를 살펴 봤는데, 그것은 tensorflow보다 약간의 추상화를 제공하는 것 같지만 그게 내 문제에 도움이 될지 모르겠다. – Pdv

+0

예를 들어 답을 수정했다. 희망이 도움이됩니다. –