{ "cells": [ { "cell_type": "markdown", "id": "02da8195-2447-4a2d-9657-8a2c8730a06b", "metadata": {}, "source": [ "# HTR model inference\n", "\n", "This notebook illustrates how to make image-to-text inference using the HTR-Flor model which comes bundled with Dawsonia. We will make use of the {class}`dawsonia.ml.api.ML`." ] }, { "cell_type": "code", "execution_count": 1, "id": "90e9a078-af89-440c-8bfc-11b7f390ced1", "metadata": {}, "outputs": [], "source": [ "from dawsonia.ml import ML\n", "from pathlib import Path" ] }, { "cell_type": "code", "execution_count": 2, "id": "34b52bb7-c7cd-4a72-9333-aaa01c5e3a96", "metadata": {}, "outputs": [], "source": [ "model = ML(model_path=Path(\"data/models/dawsonia/2024-03-29/\"))" ] }, { "cell_type": "markdown", "id": "8b56fa13-3dfe-45b5-a354-337329d5e20b", "metadata": {}, "source": [ "## Inference" ] }, { "cell_type": "markdown", "id": "5dc0bb40-2d02-477b-8c11-b1f2ac2a5b58", "metadata": {}, "source": [ "### CVL-strings dataset\n", "\n", "Let's load a image from the CVL strings dataset and try to infer the text. This image was never used in training. " ] }, { "cell_type": "code", "execution_count": 3, "id": "6263a8a0-a67c-4dd1-b0ec-5c9a9438889a", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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", "image/png": "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", "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from PIL import Image\n", "import numpy as np\n", "\n", "im = Image.open(\"cvl-strings-eval/25000-0585-08.png\")\n", "im" ] }, { "cell_type": "code", "execution_count": 4, "id": "1de69583-0a00-4849-88e8-e7abec286639", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "uint8 (71, 284, 3) min=60 max=255\n" ] } ], "source": [ "arr = np.array(im)\n", "print(arr.dtype, arr.shape, f\"min={arr.min()} max={arr.max()}\")" ] }, { "cell_type": "markdown", "id": "c771111c-bd97-428e-875a-aade575ba80b", "metadata": {}, "source": [ "First we need to convert this image to grayscale" ] }, { "cell_type": "code", "execution_count": 5, "id": "7a638c04-8a97-4f52-9373-d0b52b579c01", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "from skimage.color import rgb2gray\n", "from skimage.exposure import rescale_intensity\n", "\n", "def preprocess(arr):\n", " if arr.ndim == 3:\n", " gray = rgb2gray(arr)\n", " else:\n", " gray = arr\n", "\n", " # rescale it to range [0, 255] and change datatype from float\n", " return rescale_intensity(gray, out_range='uint8').astype('uint8')" ] }, { "cell_type": "code", "execution_count": 6, "id": "fdbad228-72ca-4ccf-ab4d-d7631130c2a9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(71, 284) min=0 max=255\n" ] } ], "source": [ "gray = preprocess(arr)\n", "print(gray.shape, f\"min={gray.min()} max={gray.max()}\")" ] }, { "cell_type": "code", "execution_count": 7, "id": "9e651928-af15-4e48-9db1-294b61b6016f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.imshow(gray, cmap='gray')" ] }, { "cell_type": "code", "execution_count": 8, "id": "a757585c-2910-43bd-b786-b5b1c396f2ed", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "((('767.1n',\n", " '767.1n',\n", " '7.1n',\n", " '7.1n',\n", " '767.41n',\n", " '767.1n',\n", " '767.n',\n", " '767.n',\n", " '7.n',\n", " '7.n'),),\n", " [array([0.07069247, 0.0560309 , 0.04045768, 0.0320668 , 0.03077785,\n", " 0.02195447, 0.0121608 , 0.0118763 , 0.00695969, 0.00679687],\n", " dtype=float32)])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.predict(gray)" ] }, { "cell_type": "markdown", "id": "8c03dda4-c060-4d8e-96fb-470cae2df629", "metadata": {}, "source": [ "### From SMHI's training data\n", "\n", "This file too has not been used for training and is from the _test_ split for the model loaded above. It however has a very similar handwriting style and background noise compared to the training data." ] }, { "cell_type": "code", "execution_count": 9, "id": "9def1bb3-7ee2-48b8-9d7e-1510b0fccc60", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/wAALCABVAE0BAREA/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/9oACAEBAAA/APS59Pt5pdx+1xjrhZzUT2IEeElm9MM5zTP7MKW+0Szqc9WkNWbOBraLHmNKT1LOaknjkiYlCHz0DAYFOtzfMRuMX0PFZzT6hHq8iKkOzHHzn/CnSSao8pUQWgTHGXOf5VdVbUW8Y1HZFMSP9QS2eOOo4qW1fYrLNNtAPyZXnb71ZdQRyfxoBXGAASKrTKWb5zge1Txoqp8tLKuI9zkYJxTYolVepPv3qvNGglL5OakQo8Q2k7h606a2FyEY4Doc89OhpggTaAX5FR28zuqoeoGT9asQnLmmzrllNTZwfaoJDum2s3yiphKm3IYUxFWUbj0pSojzJjn0qE3bLdLCwwH+7VcmUTScHGasxx+VKZD0bilX93Mwc8Y4NSsXP3QDTz93J6is24yqh+7HFTxwKsRVj8x5oXfFb9gB3NNt7j7WrLuQhe6nin3FvB5kFxLIEKuI4wf4mIP/ANapZSgb5hyfSoTKfN2H14qaUZiLHrimW0u5G5zipYm3JzVV42NwT1HpU7qI0B681w3xI8RXdpYwaXpHz6jet5Uajt6n9a6Hw7ov9ieHoLRpZHlwGkZzk7j1q3qcTzT6WcZSO4yPpjrWiQgxnHSopIj5gfjrReOFhyO/FV7SMhsEcGrZBjGEGTTY2YkmRQD2qve3a2dnJdXRCRxZbJNcT4Q019f8RXPi28T5CPKtUboAP4sevNdyjyGVoGHTvmmyXA+3QWhXJB3A/gadNuDADrjmrQxnb6VXZfOJQ9KfEAGaL0HBqQsFxnp0qGXKkVwvja4k17XdN8KWzMBcHzbtl/hjH+TXbW8UVpbxWdsoVI0CgAYpk5aEFz949celUY5zJ4pS3b+C3Dg/XdWqW6Z605fNCbiOajhLtMQRj61YkCZwSN3sahyySbRgj3qK+ufsVjNcuM+Wu7H51w3gG4hkt77xFqUim8v5yiKCCUjHQDHTqa9AEiOgkRePemtGbiTJHyrg1zdpLn4iajE4OI7KEgj1LP8A4V0hBkYso496zm/tkgmK5gZexMRFTxf2kYMtJA8g/wBgika5ukEbSeSSWwRg8Vdd3SX5toXHDDoainuoXTyZbd5I3+VwFByPzqppmk2NjaM1nYQxkE4XaAamOoTRgebZuqHOMFT/AFqOTUr1IwV06VyemCuP/QqW10pJNcv76OcpIba33LIoHOZCRmlN5ebjttoSAcf64/4VgwaBruz5dfkA9Npq/pWmeILHUrea41k3FujgyRmMZK+gzSax4U0y/wBTn1BWv43kYHy47t1XPc7QcCn2vhW1gVn+2agxwQqNcsw/nVmx0yOCNG+0XXHA/ekj271GuhE3LzTXtyULfLEshH48GrQs2m8yJ5nSHyigOTnPr9azY9McQfudWuPPjJ++rMP51Rl07W2sWAmfzGlJEhi7Z4/i6e2a2tJa/wBPt2jnSK4kY5LmDH9a1goXpQRweT+dMVQqZXOafjOe2euKRY1VduBilKg9aNoznApnlpuwFAxzwKeVVlwRRtBr/9k=", "image/png": "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", "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "im = Image.open(\"label_old/268829_1.png\")\n", "im" ] }, { "cell_type": "code", "execution_count": 10, "id": "179fd035-c666-4f7e-8992-43a6d1ab3d07", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "uint8 (85, 77) min=0 max=255\n" ] } ], "source": [ "arr = np.array(im)\n", "print(arr.dtype, arr.shape, f\"min={arr.min()} max={arr.max()}\")" ] }, { "cell_type": "markdown", "id": "9b72541b-de7a-4048-9a4d-d1164b7fa5b2", "metadata": {}, "source": [ "This image is already preprocessed!" ] }, { "cell_type": "code", "execution_count": 11, "id": "51b83be1-16cc-41ed-9ee0-80ed755af918", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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GDhwIGbMmIEnnnjicIsEAPjDH/6Aiy66CDU1NSgpKcGyZctiv0dRhFtvvRVjxozBoEGD0NDQgI0bNx4WWZuamnDmmWdi2LBhGD16NC655BI0NzfH7tmzZw8aGxtRWVmJoUOHYvbs2WhtbT3ksi5cuBBTp07NeTnW19fj17/+ddHJaXHHHXegpKQEc+fOzV0rJnm//OUvo6SkJPY3ceLEopT1IK+//jo++clPorKyEoMGDcKUKVOwdu3a3O/F8p6NHz8+MbYlJSVobGwEUJxjCwCIipD7778/Kisri/7nf/4nev7556PPfOYz0YgRI6LW1tbDLVr0q1/9Kvq3f/u36Kc//WkEIHrwwQdjv99xxx1RRUVFtGzZsuhPf/pT9LGPfSyqq6uL3n333UMu68yZM6PFixdH69evj5555pno7/7u76La2tpo165duXuuvfbaaOzYsdGKFSuitWvXRmeffXZ0zjnnHHJZf/7zn0e//OUvo5deeilqbm6OvvjFL0YDBgyI1q9fX1RyMk888UQ0fvz4aOrUqdGNN96Yu15M8t52223RKaecEr3xxhu5vzfffLMoZY2iKHr77bejcePGRVdeeWW0Zs2a6JVXXokefvjhaNOmTbl7iuU92759e2xcH3nkkQhA9Pvf/z6KouIb24MU5cZ/1llnRY2Njbny/v37o5qamqipqekwSpWEN/4DBw5E1dXV0X/8x3/kru3cuTMqLy+PfvSjHx0GCeNs3749AhCtXLkyiqL3ZBswYED0wAMP5O554YUXIgDRqlWrDpeYOUaOHBn993//d9HK2dHREU2YMCF65JFHog984AO5jb/Y5L3tttuiU0891fyt2GSNoij6whe+EJ133nk9/l7M79mNN94YHX/88dGBAweKcmwPUnSqnr1792LdunVoaGjIXSstLUVDQwNWrVp1GCULs3nzZrS0tMRkr6iowIwZM4pC9ra2NgDAqFGjAADr1q3Dvn37YvJOnDgRtbW1h1Xe/fv34/7770dnZyfq6+uLVs7GxkZceOGFMbmA4hzXjRs3oqamBscddxyuuOIKbNmypWhl/fnPf47p06fjsssuw+jRo3H66afje9/7Xu73Yn3P9u7dix/84Ae46qqrUFJSUpRje5Ci2/h37NiB/fv3o6qqKna9qqoKLS0th0kqHwflK0bZDxw4gLlz5+Lcc8/F5MmTAbwnb1lZGUaMGBG793DJ+9xzz2Ho0KEoLy/HtddeiwcffBAnn3xy0ckJAPfffz+eeuopNDU1JX4rNnlnzJiB++67D8uXL8fChQuxefNm/M3f/A06OjqKTlYAeOWVV7Bw4UJMmDABDz/8MK677jp87nOfw5IlSwAU73u2bNky7Ny5E1deeSWA4lsH3Sm6sMyib2hsbMT69evx2GOPHW5ReuSkk07CM888g7a2NvzkJz/BnDlzsHLlysMtVoKtW7fixhtvxCOPPIKBAwcebnGCzJo1K/ffU6dOxYwZMzBu3Dj8+Mc/xqBBgw6jZDYHDhzA9OnT8fWvfx0AcPrpp2P9+vW49957MWfOnMMsXc8sWrQIs2bNQk1NzeEWJUjRffEfddRR6NevX8Ly3draiurq6sMklY+D8hWb7Ndffz1+8Ytf4Pe//30u1wHwnrx79+7Fzp07Y/cfLnnLyspwwgknYNq0aWhqasKpp56Kb3/720Un57p167B9+3acccYZ6N+/P/r374+VK1fi7rvvRv/+/VFVVVVU8jIjRozAiSeeiE2bNhXd2ALAmDFjcPLJJ8euTZo0KaeeKsb37NVXX8Vvf/tb/OM//mPuWjGO7UGKbuMvKyvDtGnTsGLFity1AwcOYMWKFUWfjrGurg7V1dUx2dvb27FmzZrDInsURbj++uvx4IMP4ne/+x3q6upiv0+bNg0DBgyIydvc3IwtW7YUxVgfOHAAXV1dRSfnBRdcgOeeew7PPPNM7m/69Om44oorcv9dTPIyu3btwssvv4wxY8YU3dgCwLnnnps4dvzSSy9h3LhxAIrvPQOAxYsXY/To0bjwwgtz14pxbHMcVtNyD9x///1ReXl5dN9990UbNmyIrrnmmmjEiBFRS0vL4RYt6ujoiJ5++uno6aefjgBE3/rWt6Knn346evXVV6Moeu+Y2YgRI6Kf/exn0bPPPhtdfPHFh+0453XXXRdVVFREjz76aOzI2e7du3P3XHvttVFtbW30u9/9Llq7dm1UX18f1dfXH3JZb7755mjlypXR5s2bo2effTa6+eabo5KSkug3v/lNUcnZE91P9URRccn7z//8z9Gjjz4abd68OXr88cejhoaG6Kijjoq2b99edLJG0XtHZPv37x/dfvvt0caNG6Mf/vCH0eDBg6Mf/OAHuXuK6T3bv39/VFtbG33hC19I/FZsY3uQotz4oyiKvvOd70S1tbVRWVlZdNZZZ0WrV68+3CJFURRFv//97yMAib85c+ZEUfTeUbNbbrklqqqqisrLy6MLLrggam5uPiyyWnICiBYvXpy75913340++9nPRiNHjowGDx4c/f3f/330xhtvHHJZr7rqqmjcuHFRWVlZdPTRR0cXXHBBbtMvJjl7gjf+YpL38ssvj8aMGROVlZVFxxxzTHT55ZfHzsQXk6wHeeihh6LJkydH5eXl0cSJE6Pvfve7sd+L6T17+OGHIwBm/8U4tlEURYrHL4QQGaPodPxCCCH6Fm38QgiRMbTxCyFExtDGL4QQGUMbvxBCZAxt/EIIkTG08QshRMbQxi+EEBlDG78QQmQMbfxCCJExtPELIUTG+H8GqqKaohEgjQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gray = arr\n", "plt.imshow(gray, cmap='gray')" ] }, { "cell_type": "code", "execution_count": 12, "id": "968b2016-eccf-421d-bb2b-1a6126870599", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "((('1n', '1n', 'n', '7n', '3n', 'n', '1n1', '1n.', '1n3', '1n8'),),\n", " [array([9.96923208e-01, 1.01001037e-03, 8.20051820e-04, 4.62397235e-04,\n", " 2.17886409e-04, 8.41823348e-05, 5.58489376e-07, 1.21680941e-07,\n", " 1.04088947e-07, 1.03685316e-07], dtype=float32)])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "model.predict(gray)" ] }, { "cell_type": "markdown", "id": "f6b25067-c301-487d-a780-cf3c1674e143", "metadata": {}, "source": [ "## Conclusion\n", "\n", "We see that the model fails to give an inference for a image sample from CVL-strings. It does not hallucinate, since the probability of the inference is very low! However for SMHI's data it does the job. Depending on the input data, you may need to perform transfer learning or not" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }