From d2d3dc62f623f5af49512559a118d21483e7f75e Mon Sep 17 00:00:00 2001 From: iulusoy Date: Wed, 19 Feb 2025 10:27:41 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20ssciwr/A?= =?UTF-8?q?MMICO@14ae93063e84390d08ff9a0ab077836d4277ed93=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/doctrees/environment.pickle | Bin 149066 -> 149066 bytes .../notebooks/DemoNotebook_ammico.doctree | Bin 187657 -> 187657 bytes build/html/notebooks/DemoNotebook_ammico.html | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build/doctrees/environment.pickle b/build/doctrees/environment.pickle index 1cea8499bd0f3328136a929d69bd3699b4dcf447..69847611d88727f5fe7f8b020f603dacf27ae75f 100644 GIT binary patch delta 9961 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 delta 9975 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 delta 522 zcmeC&#of7!dxQLU1w(UF15@)P=G7=nf9Sv{ygh-9(Zfo?!oV;k)zsX~z}&>d#Lyzy(!$Kh(9pop zA|=&0$;8rh`UwZdWdv1i2USR;VZ7x6AG#+Sv&#^ n3_S$>H6^P|45W^b?NhQQDlssW_HY!XrsXB(Zg0EB)XW9|CVH1s diff --git a/build/html/notebooks/DemoNotebook_ammico.html b/build/html/notebooks/DemoNotebook_ammico.html index a38ebb0..5f7442f 100644 --- a/build/html/notebooks/DemoNotebook_ammico.html +++ b/build/html/notebooks/DemoNotebook_ammico.html @@ -525,7 +525,7 @@

Read in a csv file containing text and translating/analysing the text

The detector modules

The different detector modules with their options are explained in more detail in this section. ## Text detector Text on the images can be extracted using the TextDetector class (text module). The text is initally extracted using the Google Cloud Vision API and then translated into English with googletrans. The translated text is cleaned of whitespace, linebreaks, and numbers using Python syntax and spaCy.

-

175057e74dd3442e8ceb804ff7316f6e

+

2af8e6350faf433b8a7d32c62e1e12ef

The user can set if the text should be further summarized, and analyzed for sentiment and named entity recognition, by setting the keyword analyse_text to True (the default is False). If set, the transformers pipeline is used for each of these tasks, with the default models as of 03/2023. Other models can be selected by setting the optional keyword model_names to a list of selected models, on for each task: model_names=["sshleifer/distilbart-cnn-12-6", "distilbert-base-uncased-finetuned-sst-2-english", "dbmdz/bert-large-cased-finetuned-conll03-english"] for summary, sentiment, and ner. To be even more specific, revision numbers can also be selected by specifying the optional keyword revision_numbers to a list of revision numbers for each model, for example revision_numbers=["a4f8f3e", "af0f99b", "f2482bf"].

Please note that for the Google Cloud Vision API (the TextDetector class) you need to set a key in order to process the images. This key is ideally set as an environment variable using for example

@@ -617,7 +617,7 @@

The detector modules

Image summary and query

The SummaryDetector can be used to generate image captions (summary) as well as visual question answering (VQA).

-

801de5760744418c986211018de3b495

+

37d2b6678c6b460c84ac6ef6b7aa42bb

This module is based on the LAVIS library. Since the models can be quite large, an initial object is created which will load the necessary models into RAM/VRAM and then use them in the analysis. The user can specify the type of analysis to be performed using the analysis_type keyword. Setting it to summary will generate a caption (summary), questions will prepare answers (VQA) to a list of questions as set by the user, summary_and_questions will do both. Note that the desired analysis type needs to be set here in the initialization of the detector object, and not when running the analysis for each image; the same holds true for the selected model.

The implemented models are listed below.

@@ -880,7 +880,7 @@

BLIP2 models

Detection of faces and facial expression analysis

Faces and facial expressions are detected and analyzed using the EmotionDetector class from the faces module. Initially, it is detected if faces are present on the image using RetinaFace, followed by analysis if face masks are worn (Face-Mask-Detection). The probabilistic detection of age, gender, race, and emotions is carried out with deepface, but only if the disclosure statement has been accepted (see above).

-

4a3ffe7f3ec749b68b4fd9bed766173e

+

ca224841f25b46e19b5d6b6f627037f0

Depending on the features found on the image, the face detection module returns a different analysis content: If no faces are found on the image, all further steps are skipped and the result "face": "No", "multiple_faces": "No", "no_faces": 0, "wears_mask": ["No"], "age": [None], "gender": [None], "race": [None], "emotion": [None], "emotion (category)": [None] is returned. If one or several faces are found, up to three faces are analyzed if they are partially concealed by a face mask. If yes, only age and gender are detected; if no, also race, emotion, and dominant emotion are detected. In case of the latter, the output could look like this: "face": "Yes", "multiple_faces": "Yes", "no_faces": 2, "wears_mask": ["No", "No"], "age": [27, 28], "gender": ["Man", "Man"], "race": ["asian", None], "emotion": ["angry", "neutral"], "emotion (category)": ["Negative", "Neutral"], where for the two faces that are detected (given by no_faces), some of the values are returned as a list with the first item for the first (largest) face and the second item for the second (smaller) face (for example, "emotion" returns a list ["angry", "neutral"] signifying the first face expressing anger, and the second face having a neutral expression).