Package org.apache.tika.dl.imagerec
Class DL4JInceptionV3Net
- java.lang.Object
-
- org.apache.tika.dl.imagerec.DL4JInceptionV3Net
-
- All Implemented Interfaces:
Initializable
,ObjectRecogniser
public class DL4JInceptionV3Net extends Object implements ObjectRecogniser
DL4JInceptionV3Net
is an implementation ofObjectRecogniser
. This object recogniser is powered by Deeplearning4j. This implementation is pre configured to use Google's InceptionV3 model pre trained on ImageNet corpus. The models references in default settings are originally trained and exported from Keras and imported using DL4J's importer tools.Although this implementation is made to work out of the box without user attention, for advances users who are interested in tweaking the settings, the following fields are configurable:
modelWeightsPath
labelFile
labelLang
cacheDir
imgWidth
imgHeight
imgChannels
minConfidence
- Since:
- Tika 1.15
- See Also:
ObjectRecogniser
,ObjectRecognitionParser
,TensorflowImageRecParser
,TensorflowRESTRecogniser
-
-
Constructor Summary
Constructors Constructor Description DL4JInceptionV3Net()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkInitialization(InitializableProblemHandler problemHandler)
Set<MediaType>
getSupportedMimes()
The mimes supported by this recogniservoid
initialize(Map<String,Param> params)
This is the hook for configuring the recogniserboolean
isAvailable()
Is this service availableMap<Integer,String>
loadClassIndex(InputStream stream)
Loads the class toorg.nd4j.linalg.api.ndarray.INDArray
preProcessImage(org.nd4j.linalg.api.ndarray.INDArray input)
Pre process image to reduce to make it feedable to inception networkList<RecognisedObject>
recognise(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context)
Recognise the objects in the stream
-
-
-
Method Detail
-
getSupportedMimes
public Set<MediaType> getSupportedMimes()
Description copied from interface:ObjectRecogniser
The mimes supported by this recogniser- Specified by:
getSupportedMimes
in interfaceObjectRecogniser
- Returns:
- set of mediatypes
-
initialize
public void initialize(Map<String,Param> params) throws TikaConfigException
Description copied from interface:ObjectRecogniser
This is the hook for configuring the recogniser- Specified by:
initialize
in interfaceInitializable
- Specified by:
initialize
in interfaceObjectRecogniser
- Parameters:
params
- configuration instance in the form of context- Throws:
TikaConfigException
- when there is an issue with configuration
-
checkInitialization
public void checkInitialization(InitializableProblemHandler problemHandler) throws TikaConfigException
- Specified by:
checkInitialization
in interfaceInitializable
- Parameters:
problemHandler
- if there is a problem and no custom initializableProblemHandler has been configured via Initializable parameters, this is called to respond.- Throws:
TikaConfigException
-
isAvailable
public boolean isAvailable()
Description copied from interface:ObjectRecogniser
Is this service available- Specified by:
isAvailable
in interfaceObjectRecogniser
- Returns:
true
when the service is available,false
otherwise
-
preProcessImage
public org.nd4j.linalg.api.ndarray.INDArray preProcessImage(org.nd4j.linalg.api.ndarray.INDArray input)
Pre process image to reduce to make it feedable to inception network- Parameters:
input
- Input image- Returns:
- processed image
-
loadClassIndex
public Map<Integer,String> loadClassIndex(InputStream stream) throws IOException, org.json.simple.parser.ParseException
Loads the class to- Parameters:
stream
- label index stream- Returns:
- Map of integer -> label name
- Throws:
IOException
- when the stream breaks unexpectedlyorg.json.simple.parser.ParseException
- when the input doesn't contain a valid JSON map
-
recognise
public List<RecognisedObject> recognise(InputStream stream, ContentHandler handler, Metadata metadata, ParseContext context) throws IOException, SAXException, TikaException
Description copied from interface:ObjectRecogniser
Recognise the objects in the stream- Specified by:
recognise
in interfaceObjectRecogniser
- Parameters:
stream
- content streamhandler
- tika's content handlermetadata
- metadata instancecontext
- parser context- Returns:
- List of
RecognisedObject
s - Throws:
IOException
- when an I/O error occursSAXException
- when an issue with XML occursTikaException
- any generic error
-
-