Atharv Subhekar
commited on
Commit
β’
e719630
1
Parent(s):
85b12d0
Application update
Browse files- .DS_Store +0 -0
- FAISS/index.faiss +0 -0
- sample_images/forst.jpg β FAISS/index.pkl +2 -2
- app.py +12 -84
- document.txt +236 -0
- requirements.txt +1 -3
- sample_images/random_satellite_image.png +0 -0
- ~$cumentation.docx +0 -0
.DS_Store
CHANGED
Binary files a/.DS_Store and b/.DS_Store differ
|
|
FAISS/index.faiss
ADDED
Binary file (3.12 kB). View file
|
|
sample_images/forst.jpg β FAISS/index.pkl
RENAMED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:248f2275da40bdc64458bfe69b199b8625b5c5b1977b470f9e1e10c81b4a4cd9
|
3 |
+
size 16386
|
app.py
CHANGED
@@ -10,10 +10,12 @@ Original file is located at
|
|
10 |
#!pip install gradio --quiet
|
11 |
#!pip install -Uq transformers datasets timm accelerate evaluate
|
12 |
|
|
|
|
|
|
|
13 |
import gradio as gr
|
14 |
-
from safetensors.torch import load_model
|
15 |
-
from timm import create_model
|
16 |
from huggingface_hub import hf_hub_download
|
|
|
17 |
from datasets import load_dataset
|
18 |
import torch
|
19 |
import torchvision.transforms as T
|
@@ -21,18 +23,9 @@ import cv2
|
|
21 |
import matplotlib.pyplot as plt
|
22 |
import numpy as np
|
23 |
from PIL import Image
|
24 |
-
import
|
25 |
-
|
26 |
-
|
27 |
-
from langchain_community.vectorstores import FAISS
|
28 |
-
from langchain_community.embeddings import HuggingFaceEmbeddings
|
29 |
-
from langchain.text_splitter import CharacterTextSplitter
|
30 |
-
from langchain_core.output_parsers import StrOutputParser
|
31 |
-
from langchain_core.runnables import RunnablePassthrough
|
32 |
-
from langchain_fireworks import ChatFireworks
|
33 |
-
from langchain_core.prompts import ChatPromptTemplate
|
34 |
-
from transformers import AutoModelForImageClassification, AutoImageProcessor
|
35 |
-
from langchain import HuggingFacePipeline
|
36 |
|
37 |
safe_tensors = "model.safetensors" #hf_hub_download(repo_id="subhuatharva/swim-224-base-satellite-image-classification", filename="model.safetensors")
|
38 |
|
@@ -58,63 +51,9 @@ def one_hot_decoding(labels):
|
|
58 |
for i in id_list:
|
59 |
true_labels.append(id2label[i])
|
60 |
return true_labels
|
61 |
-
|
62 |
-
title = "Satellite Image Classification for Landscape Analysis"
|
63 |
-
description = """The bot was primarily trained to classify satellite images of the entire Amazon rainforest. You will need to upload satellite images and the bot will classify roads, forest, agriculure areas and the bot will return an analysis for the factors causing deforestation."""
|
64 |
-
|
65 |
-
def ragChain():
|
66 |
-
"""
|
67 |
-
function: creates a rag chain
|
68 |
-
output: rag chain
|
69 |
-
"""
|
70 |
-
loader = TextLoader("document.txt")
|
71 |
-
docs = loader.load()
|
72 |
-
|
73 |
-
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
|
74 |
-
docs = text_splitter.split_documents(docs)
|
75 |
-
|
76 |
-
vectorstore = FAISS.load_local("faiss_index", embeddings = HuggingFaceEmbeddings(), allow_dangerous_deserialization = True)
|
77 |
-
retriever = vectorstore.as_retriever(search_type = "similarity", search_kwargs = {"k": 5})
|
78 |
-
|
79 |
-
api_key = os.getenv("FIREWORKS_API_KEY")
|
80 |
-
llm = ChatFireworks(model="accounts/fireworks/models/mixtral-8x7b-instruct", api_key = api_key)
|
81 |
-
|
82 |
-
prompt = ChatPromptTemplate.from_messages(
|
83 |
-
[
|
84 |
-
(
|
85 |
-
"system",
|
86 |
-
"""You are a knowledgeable landscape deforestation analyst.
|
87 |
-
"""
|
88 |
-
),
|
89 |
-
(
|
90 |
-
"human",
|
91 |
-
"""First mention the detected labels only with short description.
|
92 |
-
Provide not more than 4 precautionary measures which are related to the detected labels that can be taken to control deforestation.
|
93 |
-
Don't include conversational messages.
|
94 |
-
""",
|
95 |
-
),
|
96 |
-
|
97 |
-
("human", "{context}, {question}"),
|
98 |
-
]
|
99 |
-
)
|
100 |
-
|
101 |
-
rag_chain = (
|
102 |
-
{
|
103 |
-
"context": retriever,
|
104 |
-
"question": RunnablePassthrough()
|
105 |
-
}
|
106 |
-
| prompt
|
107 |
-
| llm
|
108 |
-
| StrOutputParser()
|
109 |
-
)
|
110 |
-
|
111 |
-
return rag_chain
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
|
116 |
def model_output(image):
|
117 |
-
|
118 |
PIL_image = Image.fromarray(image.astype('uint8'), 'RGB')
|
119 |
|
120 |
img_size = (224,224)
|
@@ -133,19 +72,8 @@ def model_output(image):
|
|
133 |
pred_labels = one_hot_decoding(predictions)
|
134 |
output_text = " ".join(pred_labels)
|
135 |
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
def generate_response(rag_chain, query):
|
141 |
-
"""
|
142 |
-
input: rag chain, query
|
143 |
-
function: generates response using llm and knowledge base
|
144 |
-
output: generated response by the llm
|
145 |
-
"""
|
146 |
-
return rag_chain.invoke(f"{query}")
|
147 |
-
|
148 |
-
app = gr.Interface(fn=main, inputs="image", outputs="text", title=title,
|
149 |
-
description=description, examples=[["sample_images/train_142.jpg"], ["sample_images/train_75.jpg"],["sample_images/train_32.jpg"], ["sample_images/train_59.jpg"], ["sample_images/train_67.jpg"], ["sample_images/train_92.jpg"], ["sample_images/random_satellite_image.png"]])
|
150 |
-
app.launch(share=True)
|
151 |
|
|
|
10 |
#!pip install gradio --quiet
|
11 |
#!pip install -Uq transformers datasets timm accelerate evaluate
|
12 |
|
13 |
+
import subprocess
|
14 |
+
# subprocess.run('pip3 install datasets timm cv2 huggingface_hub torch pillow matplotlib' ,shell=True)
|
15 |
+
|
16 |
import gradio as gr
|
|
|
|
|
17 |
from huggingface_hub import hf_hub_download
|
18 |
+
from safetensors.torch import load_model
|
19 |
from datasets import load_dataset
|
20 |
import torch
|
21 |
import torchvision.transforms as T
|
|
|
23 |
import matplotlib.pyplot as plt
|
24 |
import numpy as np
|
25 |
from PIL import Image
|
26 |
+
from timm import create_model
|
27 |
+
|
28 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
safe_tensors = "model.safetensors" #hf_hub_download(repo_id="subhuatharva/swim-224-base-satellite-image-classification", filename="model.safetensors")
|
31 |
|
|
|
51 |
for i in id_list:
|
52 |
true_labels.append(id2label[i])
|
53 |
return true_labels
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
|
55 |
def model_output(image):
|
56 |
+
image = cv2.imread(image)
|
57 |
PIL_image = Image.fromarray(image.astype('uint8'), 'RGB')
|
58 |
|
59 |
img_size = (224,224)
|
|
|
72 |
pred_labels = one_hot_decoding(predictions)
|
73 |
output_text = " ".join(pred_labels)
|
74 |
|
75 |
+
return output_text
|
76 |
+
|
77 |
+
app = gr.Interface(fn=model_output, inputs="image", outputs="text")
|
78 |
+
app.launch(debug=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
|
document.txt
ADDED
@@ -0,0 +1,236 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{\rtf1\ansi\ansicpg1252\cocoartf2761
|
2 |
+
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;}
|
3 |
+
{\colortbl;\red255\green255\blue255;\red46\green49\blue51;\red255\green255\blue255;\red24\green25\blue27;
|
4 |
+
\red0\green0\blue0;}
|
5 |
+
{\*\expandedcolortbl;;\cssrgb\c23529\c25098\c26275;\cssrgb\c100000\c100000\c100000;\cssrgb\c12549\c12941\c14118;
|
6 |
+
\cssrgb\c0\c0\c0\c87059;}
|
7 |
+
\margl1440\margr1440\vieww11520\viewh8400\viewkind0
|
8 |
+
\deftab720
|
9 |
+
\pard\pardeftab720\sa320\partightenfactor0
|
10 |
+
|
11 |
+
\f0\b\fs37\fsmilli18667 \cf2 \cb3 \expnd0\expndtw0\kerning0
|
12 |
+
Description
|
13 |
+
\f1\b0\fs32 \cf0 \
|
14 |
+
\pard\pardeftab720\sa320\partightenfactor0
|
15 |
+
|
16 |
+
\fs37\fsmilli18667 \cf2 Deforestation\'a0is the purposeful clearing of forested land. Throughout history and into modern times, forests have been\'a0razed\'a0to make space for agriculture and animal grazing, and to obtain wood for fuel, manufacturing, and construction.
|
17 |
+
\fs32 \cf0 \
|
18 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
19 |
+
|
20 |
+
\fs37\fsmilli18667 \cf2 Deforestation has greatly altered landscapes around the world. About 2,000 years ago, 80 percent of Western Europe was forested; today the figure is 34 percent. In North America, about half of the forests in the eastern part of the continent were cut down from the 1600s to the 1870s for timber and agriculture. China has lost great expanses of its forests over the past 4,000 years and now just over 20 percent of it is forested. Much of Earth\'92s farmland was once forests.
|
21 |
+
\fs32 \cf0 \
|
22 |
+
|
23 |
+
\fs37\fsmilli18667 \cf2 Today, the greatest amount of\'a0deforestation\'a0is occurring in tropical rainforests, aided by extensive road construction into regions that were once almost inaccessible. Building or upgrading roads into forests makes them more accessible for exploitation.\'a0Slash-and-burn\'a0agriculture is a big contributor to\'a0deforestation\'a0in the tropics. With this agricultural method, farmers burn large swaths of forest, allowing the ash to fertilize the land for crops. The land is only fertile for a few years, however, after which the farmers move on to repeat the process elsewhere. Tropical forests are also cleared to make way for logging, cattle ranching, and oil palm and rubber tree plantations.
|
24 |
+
\fs32 \cf0 \
|
25 |
+
|
26 |
+
\fs37\fsmilli18667 \cf2 Deforestation\'a0can result in more\'a0carbon dioxide\'a0being released into the atmosphere. That is because trees take in\'a0carbon dioxide\'a0from the air for\'a0photosynthesis, and carbon is locked chemically in their wood. When trees are burned, this carbon returns to the atmosphere as\'a0carbon dioxide. With fewer trees around to take in the\'a0carbon dioxide, this greenhouse gas accumulates in the atmosphere and accelerates global warming.
|
27 |
+
\fs32 \cf0 \
|
28 |
+
|
29 |
+
\fs37\fsmilli18667 \cf2 Deforestation\'a0also threatens the world\'92s\'a0biodiversity. Tropical forests are home to great numbers of animal and plant species. When forests are logged or burned, it can drive many of those species into extinction. Some scientists say we are already in the midst of a mass-extinction episode.
|
30 |
+
\fs32 \cf0 \
|
31 |
+
|
32 |
+
\fs37\fsmilli18667 \cf2 More immediately, the loss of trees from a forest can leave soil more prone to\'a0erosion. This causes the remaining plants to become more vulnerable to fire as the forest shifts from being a closed, moist environment to an open, dry one. While\'a0deforestation\'a0can be permanent, this is not always the case. In North America, for example, forests in many areas are returning thanks to\'a0conservation\'a0efforts.
|
33 |
+
\fs32 \cf0 \
|
34 |
+
\pard\pardeftab720\sa320\partightenfactor0
|
35 |
+
|
36 |
+
\f0\b\fs37\fsmilli18667 \cf4 Cloud Cover Labels
|
37 |
+
\f1\b0\fs32 \cf0 \
|
38 |
+
\pard\pardeftab720\sa320\partightenfactor0
|
39 |
+
|
40 |
+
\fs37\fsmilli18667 \cf2 These labels closely mirror what one would see in a local weather forecast: clear, partly cloudy, cloudy, and haze. For our purposes haze is defined as any image patch where atmospheric clouds are visible but they are not so opaque as to obscure the ground. Clear scenes show no evidence of clouds, and partly cloudy scenes can show opaque cloud cover over any portion of the image. Cloudy images have 90% of the chip obscured by opaque cloud cover.
|
41 |
+
\fs32 \cf0 \
|
42 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
43 |
+
|
44 |
+
\f0\b\fs37\fsmilli18667 \cf4 Primary Rain Forest
|
45 |
+
\f1\b0\fs32 \cf0 \
|
46 |
+
\pard\pardeftab720\partightenfactor0
|
47 |
+
|
48 |
+
\fs37\fsmilli18667 \cf2 The overwhelming majority of the data set is labeled as "primary", which is shorthand for primary rainforest, or what is known colloquially as virgin forest. Generally speaking, the "primary" label was used for any area that exhibited dense tree cover. A primary forest is an untouched forest, most often within the context of logging activities, which should have never taken place in that forest area, whereas a secondary forest is a forest that has already been logged or disturbed in a significant way, by the activies of human beings.
|
49 |
+
\fs32 \cf0 \
|
50 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
51 |
+
|
52 |
+
\f0\b\fs37\fsmilli18667 \cf4 Water (Rivers & Lakes)
|
53 |
+
\f1\b0\fs32 \cf0 \
|
54 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
55 |
+
|
56 |
+
\fs37\fsmilli18667 \cf2 Waters are labels for rivers, reservoirs and oxbow lakes. Rivers often change their course and serve as highways deep into forest areas. The changing course of theses rivers creates new habitats but can also strand endangered river species. Reservoirs are artificial lakes used to commercial purposes. Oxbow lakes are the remains of the bend in the river. Oxbow lakes are still water lakes. This means that water does not flow into or out of them.
|
57 |
+
\fs32 \cf0 \
|
58 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
59 |
+
|
60 |
+
\f0\b\fs37\fsmilli18667 \cf4 Habitation
|
61 |
+
\f1\b0\fs32 \cf0 \
|
62 |
+
\pard\pardeftab720\sa320\partightenfactor0
|
63 |
+
|
64 |
+
\fs37\fsmilli18667 \cf2 The habitation class label is used images appeared to contain human homes or buildings and man made structures. This includes anything from dense urban centers to rural villages along the banks of rivers.
|
65 |
+
\fs32 \cf0 \
|
66 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
67 |
+
|
68 |
+
\f0\b\fs37\fsmilli18667 \cf4 Agriculture
|
69 |
+
\f1\b0\fs32 \cf0 \
|
70 |
+
\pard\pardeftab720\partightenfactor0
|
71 |
+
|
72 |
+
\fs37\fsmilli18667 \cf2 For the purposes of this dataset, agriculture is considered to be any land cleared of trees that is being used for agriculture or\'a0{\field{\*\fldinst{HYPERLINK "https://rainforestpartnership.org/the-beef-industry-and-deforestation/"}}{\fldrslt \cf4 \ul \ulc4 range land}}. Agricultural land requires cutting down forest and making up space for commercial growth of crops which is a major contributors to deforestation.
|
73 |
+
\fs32 \cf0 \
|
74 |
+
\pard\pardeftab720\sa320\partightenfactor0
|
75 |
+
|
76 |
+
\fs37\fsmilli18667 \cf2 \'a0
|
77 |
+
\fs32 \cf0 \
|
78 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
79 |
+
|
80 |
+
\f0\b\fs37\fsmilli18667 \cf4 Road
|
81 |
+
\f1\b0\fs32 \cf0 \
|
82 |
+
\pard\pardeftab720\sa320\partightenfactor0
|
83 |
+
|
84 |
+
\fs37\fsmilli18667 \cf2 Roads are important for transportation but they also serve as drivers of deforestation. In particular, "fishbone" deforestation often follows new road construction, while smaller logging roads drive selective logging operations. For our data, all types of roads are labeled with a single "road" label. Some rivers look very similar to smaller logging roads, and consequently there may be some noise in this label. Analysis of the image using the near infrared band may prove useful in disambiguating the two classes.
|
85 |
+
\fs32 \cf0 \
|
86 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
87 |
+
|
88 |
+
\f0\b\fs37\fsmilli18667 \cf4 Cultivation
|
89 |
+
\f1\b0\fs32 \cf0 \
|
90 |
+
\pard\pardeftab720\partightenfactor0
|
91 |
+
|
92 |
+
\fs37\fsmilli18667 \cf2 Shifting cultivation is a subset of agriculture that is very easy to see from space, and occurs in rural areas where individuals and families maintain farm plots for subsistence.\'a0 This type of agriculture is often found near smaller villages along major rivers, and at the outskirts of agricultural areas. It typically relies on non-mechanized labor, and covers relatively small areas.
|
93 |
+
\fs32 \cf0 \
|
94 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
95 |
+
|
96 |
+
\f0\b\fs37\fsmilli18667 \cf4 Bare Ground
|
97 |
+
\f1\b0\fs32 \cf0 \
|
98 |
+
\pard\pardeftab720\partightenfactor0
|
99 |
+
|
100 |
+
\fs37\fsmilli18667 \cf2 Bare ground is a catch-all term used for naturally occuring tree free areas that aren't the result of human activity. Some of these areas occur naturally , while others may be the result from the source scenes containing small regions of biome.
|
101 |
+
\fs32 \cf0 \
|
102 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
103 |
+
|
104 |
+
\f0\b\fs37\fsmilli18667 \cf4 Slash and Burn
|
105 |
+
\f1\b0\fs32 \cf0 \
|
106 |
+
\pard\pardeftab720\partightenfactor0
|
107 |
+
|
108 |
+
\fs37\fsmilli18667 \cf2 Slash-and-burn agriculture can be considered to be a subset of the shifting cultivation label and is used for areas that demonstrate recent burn events. This is to say that the shifting cultivation patches appear to have dark brown or black areas consistent with recent burning.
|
109 |
+
\fs32 \cf0 \
|
110 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
111 |
+
|
112 |
+
\f0\b\fs37\fsmilli18667 \cf4 Selective Logging
|
113 |
+
\f1\b0\fs32 \cf0 \
|
114 |
+
\pard\pardeftab720\partightenfactor0
|
115 |
+
|
116 |
+
\fs37\fsmilli18667 \cf2 The selective logging label is used to cover the practice of selectively removing high value tree species from the rainforest for commercial applications. From space these images appears as winding dirt roads adjacent to bare brown patches in otherwise primary rain forest.
|
117 |
+
\fs32 \cf0 \
|
118 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
119 |
+
|
120 |
+
\f0\b\fs37\fsmilli18667 \cf4 Blooming
|
121 |
+
\f1\b0\fs32 \cf0 \
|
122 |
+
\pard\pardeftab720\partightenfactor0
|
123 |
+
|
124 |
+
\fs37\fsmilli18667 \cf2 Blooming is a natural phenomenon found in landscape where particular species of flowering trees bloom, fruit, and flower at the same time to maximize the chances of cross pollination. These trees are quite large and these events can be seen from space.\'a0
|
125 |
+
\fs32 \cf0 \
|
126 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
127 |
+
|
128 |
+
\f0\b\fs37\fsmilli18667 \cf4 Conventional Mining
|
129 |
+
\f1\b0\fs32 \cf0 \
|
130 |
+
\pard\pardeftab720\partightenfactor0
|
131 |
+
|
132 |
+
\fs37\fsmilli18667 \cf2 There are a number of large conventional mines in the Amazon basin and the number is\'a0{\field{\*\fldinst{HYPERLINK "https://www.wsj.com/articles/SB10001424127887324020804578150964211301692"}}{\fldrslt \cf4 \ul \ulc4 steadily growning}}. This label is used to classify large-scale legal mining operations.
|
133 |
+
\fs32 \cf0 \
|
134 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
135 |
+
|
136 |
+
\f0\b\fs37\fsmilli18667 \cf4 "Artisinal" Mining
|
137 |
+
\f1\b0\fs32 \cf0 \
|
138 |
+
\pard\pardeftab720\partightenfactor0
|
139 |
+
|
140 |
+
\fs37\fsmilli18667 \cf2 Artisinal mining is a catch-all term for small scale mining operations. Gold deposits lace the deep, clay soils. Artisanal miners, sometimes\'a0{\field{\*\fldinst{HYPERLINK "https://www.nytimes.com/2016/07/26/world/americas/peru-illegal-gold-mining-latin-america.html?_r=0"}}{\fldrslt \cf4 \ul \ulc4 working illegally}}\'a0in land designated for conservation, slash through the forest and excavate deep pits near rivers. They pump a mud-water slurry into the river banks, blasting them away so that they can be processed further with mercury - which is used to separate out the gold. The denuded moonscape left behind takes centuries to recover.
|
141 |
+
\fs32 \cf0 \
|
142 |
+
\pard\pardeftab720\sa240\partightenfactor0
|
143 |
+
|
144 |
+
\f0\b\fs37\fsmilli18667 \cf4 Blow Down
|
145 |
+
\f1\b0\fs32 \cf0 \
|
146 |
+
\pard\pardeftab720\partightenfactor0
|
147 |
+
|
148 |
+
\fs37\fsmilli18667 \cf2 Blow down, also called\'a0{\field{\*\fldinst{HYPERLINK "https://en.wikipedia.org/wiki/Windthrow"}}{\fldrslt \cf4 \ul \ulc4 windthrow}}, is a naturally occurring phenomeno. Briefly, blow down events occur during\'a0{\field{\*\fldinst{HYPERLINK "https://en.wikipedia.org/wiki/Microburst"}}{\fldrslt \cf4 \ul \ulc4 microbursts}} where cold dry air from the Andes settles on top of warm moist air in the rainforest. The colder air punches a hole in the moist warm layer, and sinks down with incredible force and high speed (in excess of 100MPH). These high winds topple the larger rainforest trees, and the resulting open areas are visible from space. The open areas do not stay visible for along as plants in the understory rush in to take advantage of the sunlight.
|
149 |
+
\fs32 \cf0 \
|
150 |
+
|
151 |
+
\fs37\fsmilli18667 \cf2 \'a0
|
152 |
+
\fs32 \cf0 \
|
153 |
+
\pard\pardeftab720\partightenfactor0
|
154 |
+
|
155 |
+
\f0\b\fs37\fsmilli18667 \cf2 Prevention
|
156 |
+
\f1\b0\fs32 \cf0 \
|
157 |
+
\pard\pardeftab720\partightenfactor0
|
158 |
+
|
159 |
+
\fs37\fsmilli18667 \cf2 Deforestation is one of the most pressing environmental issues we face today, with vast tracts of forests disappearing at an alarming rate. It not only leads to the loss of habitat for countless species but also accelerates climate change due to the significant amounts of carbon dioxide stored in these ecosystems.\'a0
|
160 |
+
\fs32 \cf0 \
|
161 |
+
|
162 |
+
\fs37\fsmilli18667 \cf2 However, it's not an unsolvable problem. Each one of us can contribute to the solution. Below we have collected 15 practical ways that you can help stop deforestation and promote a more sustainable relationship with our planet's precious forests.
|
163 |
+
\fs32 \cf0 \
|
164 |
+
|
165 |
+
\fs37\fsmilli18667 \cf2 \'a0
|
166 |
+
\fs32 \cf0 \
|
167 |
+
\pard\pardeftab720\partightenfactor0
|
168 |
+
|
169 |
+
\f0\b\fs37\fsmilli18667 \cf2 1. Plant More Trees
|
170 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Engage in tree-planting initiatives in your community or through global organizations.
|
171 |
+
\fs32 \cf0 \
|
172 |
+
|
173 |
+
\f0\b\fs37\fsmilli18667 \cf2 2. Go Paperless
|
174 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Reduce paper consumption by going digital at home and in the office. When you do need to print, use both sides of the paper.
|
175 |
+
\fs32 \cf5 \
|
176 |
+
|
177 |
+
\f0\b\fs37\fsmilli18667 \cf2 3. Support Responsible Companies
|
178 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Choose to support companies that are committed to reducing deforestation and use sustainable practices.
|
179 |
+
\fs32 \cf5 \
|
180 |
+
|
181 |
+
\f0\b\fs37\fsmilli18667 \cf2 4. Buy Certified Wood Products
|
182 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Opt for wood or paper products that are certified by the Forest Stewardship Council (FSC) or similar organizations.
|
183 |
+
\fs32 \cf5 \
|
184 |
+
|
185 |
+
\f0\b\fs37\fsmilli18667 \cf2 5. Buy and Use Responsibly
|
186 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Consider your purchases carefully. Buy only what you need, and prioritize items with less packaging or reusable containers.
|
187 |
+
\fs32 \cf5 \
|
188 |
+
|
189 |
+
\f0\b\fs37\fsmilli18667 \cf2 6. Avoid Palm Oil
|
190 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Palm oil production contributes significantly to deforestation. Check labels and avoid products containing palm oil where possible.
|
191 |
+
\fs32 \cf5 \
|
192 |
+
|
193 |
+
\f0\b\fs37\fsmilli18667 \cf2 7. Recycle and Buy Recycled Products
|
194 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Support the recycling economy by buying recycled products and recycling them again after use.
|
195 |
+
\fs32 \cf5 \
|
196 |
+
|
197 |
+
\f0\b\fs37\fsmilli18667 \cf2 8. Educate Others
|
198 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Raise awareness about deforestation in your social circle and community. The more people know, the more they can help.
|
199 |
+
\fs32 \cf5 \
|
200 |
+
|
201 |
+
\f0\b\fs37\fsmilli18667 \cf2 9. Support Sustainable Agriculture
|
202 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Buy from local farmers who practice sustainable agriculture, helping to reduce the demand for deforested land.
|
203 |
+
\fs32 \cf5 \
|
204 |
+
|
205 |
+
\f0\b\fs37\fsmilli18667 \cf2 10. Advocate for Forest Protection Policies
|
206 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Support policies and politicians that prioritize forest conservation and responsible land use.
|
207 |
+
\fs32 \cf5 \
|
208 |
+
|
209 |
+
\f0\b\fs37\fsmilli18667 \cf2 11. Support Indigenous Rights
|
210 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Support Indigenous communities who often are excellent stewards of the forests they inhabit.
|
211 |
+
\fs32 \cf5 \
|
212 |
+
|
213 |
+
\f0\b\fs37\fsmilli18667 \cf2 12. Offset Your Carbon Footprint
|
214 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Consider supporting carbon offset programs that protect existing forests or plant new trees.
|
215 |
+
\fs32 \cf5 \
|
216 |
+
|
217 |
+
\f0\b\fs37\fsmilli18667 \cf2 13. Reduce Meat Consumption
|
218 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Livestock farming is a major cause of deforestation. Consider reducing your meat intake or choose products from sustainable farms.
|
219 |
+
\fs32 \cf5 \
|
220 |
+
|
221 |
+
\f0\b\fs37\fsmilli18667 \cf2 14. Use Renewable Energy
|
222 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Using renewable energy reduces the need for deforestation caused by mining and drilling.
|
223 |
+
\fs32 \cf5 \
|
224 |
+
|
225 |
+
\f0\b\fs37\fsmilli18667 \cf2 15. Volunteer or Donate
|
226 |
+
\f1\b0 \cb1 \uc0\u8232 \cb3 Consider donating your time or money to organizations that work to prevent deforestation.
|
227 |
+
\fs32 \cf5 \
|
228 |
+
\pard\pardeftab720\sa320\partightenfactor0
|
229 |
+
|
230 |
+
\fs37\fsmilli18667 \cf2 \'a0
|
231 |
+
\fs32 \cf0 \
|
232 |
+
\pard\pardeftab720\sa213\partightenfactor0
|
233 |
+
|
234 |
+
\fs37\fsmilli18667 \cf0 \cb1 \'a0
|
235 |
+
\fs32 \
|
236 |
+
}
|
requirements.txt
CHANGED
@@ -4,6 +4,4 @@ opencv-python
|
|
4 |
huggingface_hub
|
5 |
torch
|
6 |
pillow
|
7 |
-
matplotlib
|
8 |
-
langchain
|
9 |
-
langchain-fireworks
|
|
|
4 |
huggingface_hub
|
5 |
torch
|
6 |
pillow
|
7 |
+
matplotlib
|
|
|
|
sample_images/random_satellite_image.png
DELETED
Binary file (295 kB)
|
|
~$cumentation.docx
ADDED
Binary file (162 Bytes). View file
|
|