diff --git a/A2-Koohi-403723151-report.pdf b/A2-Koohi-403723151-report.pdf new file mode 100644 index 0000000..0f49fc8 Binary files /dev/null and b/A2-Koohi-403723151-report.pdf differ diff --git a/dataset/day/0.png b/dataset/day/0.png new file mode 100644 index 0000000..7de2176 Binary files /dev/null and b/dataset/day/0.png differ diff --git a/dataset/day/1.png b/dataset/day/1.png new file mode 100644 index 0000000..e068efd Binary files /dev/null and b/dataset/day/1.png differ diff --git a/dataset/day/10.png b/dataset/day/10.png new file mode 100644 index 0000000..174de69 Binary files /dev/null and b/dataset/day/10.png differ diff --git a/dataset/day/11.png b/dataset/day/11.png new file mode 100644 index 0000000..791a672 Binary files /dev/null and b/dataset/day/11.png differ diff --git a/dataset/day/12.png b/dataset/day/12.png new file mode 100644 index 0000000..cc6fe62 Binary files /dev/null and b/dataset/day/12.png differ diff --git a/dataset/day/13.png b/dataset/day/13.png new file mode 100644 index 0000000..bdc657b Binary files /dev/null and b/dataset/day/13.png differ diff --git a/dataset/day/14.png b/dataset/day/14.png new file mode 100644 index 0000000..77215af Binary files /dev/null and b/dataset/day/14.png differ diff --git a/dataset/day/15.png b/dataset/day/15.png new file mode 100644 index 0000000..b3c97bf Binary files /dev/null and b/dataset/day/15.png differ diff --git a/dataset/day/16.png b/dataset/day/16.png new file mode 100644 index 0000000..9094dc8 Binary files /dev/null and b/dataset/day/16.png differ diff --git a/dataset/day/17.png b/dataset/day/17.png new file mode 100644 index 0000000..cd5215a Binary files /dev/null and b/dataset/day/17.png differ diff --git a/dataset/day/18.png b/dataset/day/18.png new file mode 100644 index 0000000..6bb6900 Binary files /dev/null and b/dataset/day/18.png differ diff --git a/dataset/day/19.png b/dataset/day/19.png new file mode 100644 index 0000000..440dfab Binary files /dev/null and b/dataset/day/19.png differ diff --git a/dataset/day/2.png b/dataset/day/2.png new file mode 100644 index 0000000..ebc43ee Binary files /dev/null and b/dataset/day/2.png differ diff --git a/dataset/day/20.png b/dataset/day/20.png new file mode 100644 index 0000000..0213994 Binary files /dev/null and b/dataset/day/20.png differ diff --git a/dataset/day/21.png b/dataset/day/21.png new file mode 100644 index 0000000..a8d64db Binary files /dev/null and b/dataset/day/21.png differ diff --git a/dataset/day/22.png b/dataset/day/22.png new file mode 100644 index 0000000..f2a7b56 Binary files /dev/null and b/dataset/day/22.png differ diff --git a/dataset/day/23.png b/dataset/day/23.png new file mode 100644 index 0000000..1d8faf4 Binary files /dev/null and b/dataset/day/23.png differ diff --git a/dataset/day/24.png b/dataset/day/24.png new file mode 100644 index 0000000..3e1f5c8 Binary files /dev/null and b/dataset/day/24.png differ diff --git a/dataset/day/25.png b/dataset/day/25.png new file mode 100644 index 0000000..4e3beaf Binary files /dev/null and b/dataset/day/25.png differ diff --git a/dataset/day/26.png b/dataset/day/26.png new file mode 100644 index 0000000..5b2da47 Binary files /dev/null and b/dataset/day/26.png differ diff --git a/dataset/day/27.png b/dataset/day/27.png new file mode 100644 index 0000000..428eeac Binary files /dev/null and b/dataset/day/27.png differ diff --git a/dataset/day/28.png b/dataset/day/28.png new file mode 100644 index 0000000..a1e7031 Binary files /dev/null and b/dataset/day/28.png differ diff --git a/dataset/day/29.png b/dataset/day/29.png new file mode 100644 index 0000000..4562a2b Binary files /dev/null and b/dataset/day/29.png differ diff --git a/dataset/day/3.png b/dataset/day/3.png new file mode 100644 index 0000000..b8b1c4d Binary files /dev/null and b/dataset/day/3.png differ diff --git a/dataset/day/30.png b/dataset/day/30.png new file mode 100644 index 0000000..0e1663e Binary files /dev/null and b/dataset/day/30.png differ diff --git a/dataset/day/31.png b/dataset/day/31.png new file mode 100644 index 0000000..dbfbfbe Binary files /dev/null and b/dataset/day/31.png differ diff --git a/dataset/day/32.png b/dataset/day/32.png new file mode 100644 index 0000000..cfab021 Binary files /dev/null and b/dataset/day/32.png differ diff --git a/dataset/day/33.png b/dataset/day/33.png new file mode 100644 index 0000000..b32ae9e Binary files /dev/null and b/dataset/day/33.png differ diff --git a/dataset/day/34.png b/dataset/day/34.png new file mode 100644 index 0000000..442d5ac Binary files /dev/null and b/dataset/day/34.png differ diff --git a/dataset/day/35.png b/dataset/day/35.png new file mode 100644 index 0000000..f4fbb59 Binary files /dev/null and b/dataset/day/35.png differ diff --git a/dataset/day/36.png b/dataset/day/36.png new file mode 100644 index 0000000..dd74298 Binary files /dev/null and b/dataset/day/36.png differ diff --git a/dataset/day/37.png b/dataset/day/37.png new file mode 100644 index 0000000..d4323b2 Binary files /dev/null and b/dataset/day/37.png differ diff --git a/dataset/day/38.png b/dataset/day/38.png new file mode 100644 index 0000000..8bbd817 Binary files /dev/null and b/dataset/day/38.png differ diff --git a/dataset/day/39.png b/dataset/day/39.png new file mode 100644 index 0000000..2fdf3a8 Binary files /dev/null and b/dataset/day/39.png differ diff --git a/dataset/day/4.png b/dataset/day/4.png new file mode 100644 index 0000000..b3fd7b2 Binary files /dev/null and b/dataset/day/4.png differ diff --git a/dataset/day/40.png b/dataset/day/40.png new file mode 100644 index 0000000..ec7696c Binary files /dev/null and b/dataset/day/40.png differ diff --git a/dataset/day/41.png b/dataset/day/41.png new file mode 100644 index 0000000..a659716 Binary files /dev/null and b/dataset/day/41.png differ diff --git a/dataset/day/42.png b/dataset/day/42.png new file mode 100644 index 0000000..0729caf Binary files /dev/null and b/dataset/day/42.png differ diff --git a/dataset/day/43.png b/dataset/day/43.png new file mode 100644 index 0000000..bac902b Binary files /dev/null and b/dataset/day/43.png differ diff --git a/dataset/day/44.png b/dataset/day/44.png new file mode 100644 index 0000000..7d2c843 Binary files /dev/null and b/dataset/day/44.png differ diff --git a/dataset/day/45.png b/dataset/day/45.png new file mode 100644 index 0000000..c9550f6 Binary files /dev/null and b/dataset/day/45.png differ diff --git a/dataset/day/46.png b/dataset/day/46.png new file mode 100644 index 0000000..f323661 Binary files /dev/null and b/dataset/day/46.png differ diff --git a/dataset/day/47.png b/dataset/day/47.png new file mode 100644 index 0000000..85ed869 Binary files /dev/null and b/dataset/day/47.png differ diff --git a/dataset/day/48.png b/dataset/day/48.png new file mode 100644 index 0000000..ce53427 Binary files /dev/null and b/dataset/day/48.png differ diff --git a/dataset/day/49.png b/dataset/day/49.png new file mode 100644 index 0000000..a658147 Binary files /dev/null and b/dataset/day/49.png differ diff --git a/dataset/day/5.png b/dataset/day/5.png new file mode 100644 index 0000000..ae2fc19 Binary files /dev/null and b/dataset/day/5.png differ diff --git a/dataset/day/50.png b/dataset/day/50.png new file mode 100644 index 0000000..4a73176 Binary files /dev/null and b/dataset/day/50.png differ diff --git a/dataset/day/51.png b/dataset/day/51.png new file mode 100644 index 0000000..4bd64e9 Binary files /dev/null and b/dataset/day/51.png differ diff --git a/dataset/day/52.png b/dataset/day/52.png new file mode 100644 index 0000000..4051c3a Binary files /dev/null and b/dataset/day/52.png differ diff --git a/dataset/day/53.png b/dataset/day/53.png new file mode 100644 index 0000000..44d8e23 Binary files /dev/null and b/dataset/day/53.png differ diff --git a/dataset/day/54.png b/dataset/day/54.png new file mode 100644 index 0000000..fe85419 Binary files /dev/null and b/dataset/day/54.png differ diff --git a/dataset/day/55.png b/dataset/day/55.png new file mode 100644 index 0000000..de8fe08 Binary files /dev/null and b/dataset/day/55.png differ diff --git a/dataset/day/56.png b/dataset/day/56.png new file mode 100644 index 0000000..1705f50 Binary files /dev/null and b/dataset/day/56.png differ diff --git a/dataset/day/57.png b/dataset/day/57.png new file mode 100644 index 0000000..cedafa8 Binary files /dev/null and b/dataset/day/57.png differ diff --git a/dataset/day/58.png b/dataset/day/58.png new file mode 100644 index 0000000..93ac0fb Binary files /dev/null and b/dataset/day/58.png differ diff --git a/dataset/day/59.png b/dataset/day/59.png new file mode 100644 index 0000000..a2d04cd Binary files /dev/null and b/dataset/day/59.png differ diff --git a/dataset/day/6.png b/dataset/day/6.png new file mode 100644 index 0000000..b1cb9a0 Binary files /dev/null and b/dataset/day/6.png differ diff --git a/dataset/day/60.png b/dataset/day/60.png new file mode 100644 index 0000000..28c963f Binary files /dev/null and b/dataset/day/60.png differ diff --git a/dataset/day/61.png b/dataset/day/61.png new file mode 100644 index 0000000..119a80e Binary files /dev/null and b/dataset/day/61.png differ diff --git a/dataset/day/62.png b/dataset/day/62.png new file mode 100644 index 0000000..7d7c2e4 Binary files /dev/null and b/dataset/day/62.png differ diff --git a/dataset/day/63.png b/dataset/day/63.png new file mode 100644 index 0000000..8854631 Binary files /dev/null and b/dataset/day/63.png differ diff --git a/dataset/day/64.png b/dataset/day/64.png new file mode 100644 index 0000000..cce83ca Binary files /dev/null and b/dataset/day/64.png differ diff --git a/dataset/day/65.png b/dataset/day/65.png new file mode 100644 index 0000000..6371353 Binary files /dev/null and b/dataset/day/65.png differ diff --git a/dataset/day/66.png b/dataset/day/66.png new file mode 100644 index 0000000..b2f86c5 Binary files /dev/null and b/dataset/day/66.png differ diff --git a/dataset/day/67.png b/dataset/day/67.png new file mode 100644 index 0000000..756b3de Binary files /dev/null and b/dataset/day/67.png differ diff --git a/dataset/day/68.png b/dataset/day/68.png new file mode 100644 index 0000000..57d4220 Binary files /dev/null and b/dataset/day/68.png differ diff --git a/dataset/day/69.png b/dataset/day/69.png new file mode 100644 index 0000000..c7c4404 Binary files /dev/null and b/dataset/day/69.png differ diff --git a/dataset/day/7.png b/dataset/day/7.png new file mode 100644 index 0000000..cacc0a8 Binary files /dev/null and b/dataset/day/7.png differ diff --git a/dataset/day/70.png b/dataset/day/70.png new file mode 100644 index 0000000..66fb21e Binary files /dev/null and b/dataset/day/70.png differ diff --git a/dataset/day/71.png b/dataset/day/71.png new file mode 100644 index 0000000..45995b5 Binary files /dev/null and b/dataset/day/71.png differ diff --git a/dataset/day/72.png b/dataset/day/72.png new file mode 100644 index 0000000..fbd7f2a Binary files /dev/null and b/dataset/day/72.png differ diff --git a/dataset/day/73.png b/dataset/day/73.png new file mode 100644 index 0000000..483702e Binary files /dev/null and b/dataset/day/73.png differ diff --git a/dataset/day/74.png b/dataset/day/74.png new file mode 100644 index 0000000..d00312f Binary files /dev/null and b/dataset/day/74.png differ diff --git a/dataset/day/75.png b/dataset/day/75.png new file mode 100644 index 0000000..1b87d1e Binary files /dev/null and b/dataset/day/75.png differ diff --git a/dataset/day/76.png b/dataset/day/76.png new file mode 100644 index 0000000..9020109 Binary files /dev/null and b/dataset/day/76.png differ diff --git a/dataset/day/77.png b/dataset/day/77.png new file mode 100644 index 0000000..d88a8ba Binary files /dev/null and b/dataset/day/77.png differ diff --git a/dataset/day/78.png b/dataset/day/78.png new file mode 100644 index 0000000..4062763 Binary files /dev/null and b/dataset/day/78.png differ diff --git a/dataset/day/79.png b/dataset/day/79.png new file mode 100644 index 0000000..f10ecb1 Binary files /dev/null and b/dataset/day/79.png differ diff --git a/dataset/day/8.png b/dataset/day/8.png new file mode 100644 index 0000000..e61044c Binary files /dev/null and b/dataset/day/8.png differ diff --git a/dataset/day/80.png b/dataset/day/80.png new file mode 100644 index 0000000..b67ca71 Binary files /dev/null and b/dataset/day/80.png differ diff --git a/dataset/day/81.png b/dataset/day/81.png new file mode 100644 index 0000000..f32e1b3 Binary files /dev/null and b/dataset/day/81.png differ diff --git a/dataset/day/82.png b/dataset/day/82.png new file mode 100644 index 0000000..7c04d4b Binary files /dev/null and b/dataset/day/82.png differ diff --git a/dataset/day/83.png b/dataset/day/83.png new file mode 100644 index 0000000..60883b7 Binary files /dev/null and b/dataset/day/83.png differ diff --git a/dataset/day/84.png b/dataset/day/84.png new file mode 100644 index 0000000..a6de124 Binary files /dev/null and b/dataset/day/84.png differ diff --git a/dataset/day/85.png b/dataset/day/85.png new file mode 100644 index 0000000..407b5d0 Binary files /dev/null and b/dataset/day/85.png differ diff --git a/dataset/day/86.png b/dataset/day/86.png new file mode 100644 index 0000000..2e2e6e0 Binary files /dev/null and b/dataset/day/86.png differ diff --git a/dataset/day/87.png b/dataset/day/87.png new file mode 100644 index 0000000..07958ac Binary files /dev/null and b/dataset/day/87.png differ diff --git a/dataset/day/88.png b/dataset/day/88.png new file mode 100644 index 0000000..2fe03d0 Binary files /dev/null and b/dataset/day/88.png differ diff --git a/dataset/day/89.png b/dataset/day/89.png new file mode 100644 index 0000000..32c51bc Binary files /dev/null and b/dataset/day/89.png differ diff --git a/dataset/day/9.png b/dataset/day/9.png new file mode 100644 index 0000000..4f388df Binary files /dev/null and b/dataset/day/9.png differ diff --git a/dataset/day/90.png b/dataset/day/90.png new file mode 100644 index 0000000..17368db Binary files /dev/null and b/dataset/day/90.png differ diff --git a/dataset/day/91.png b/dataset/day/91.png new file mode 100644 index 0000000..cfe71e1 Binary files /dev/null and b/dataset/day/91.png differ diff --git a/dataset/day/92.png b/dataset/day/92.png new file mode 100644 index 0000000..870d7a4 Binary files /dev/null and b/dataset/day/92.png differ diff --git a/dataset/day/93.png b/dataset/day/93.png new file mode 100644 index 0000000..0fd8f34 Binary files /dev/null and b/dataset/day/93.png differ diff --git a/dataset/day/94.png b/dataset/day/94.png new file mode 100644 index 0000000..9a1fc03 Binary files /dev/null and b/dataset/day/94.png differ diff --git a/dataset/day/95.png b/dataset/day/95.png new file mode 100644 index 0000000..1c6573a Binary files /dev/null and b/dataset/day/95.png differ diff --git a/dataset/day/96.png b/dataset/day/96.png new file mode 100644 index 0000000..6fbab2f Binary files /dev/null and b/dataset/day/96.png differ diff --git a/dataset/day/97.png b/dataset/day/97.png new file mode 100644 index 0000000..22ef6c6 Binary files /dev/null and b/dataset/day/97.png differ diff --git a/dataset/day/98.png b/dataset/day/98.png new file mode 100644 index 0000000..06d62a8 Binary files /dev/null and b/dataset/day/98.png differ diff --git a/dataset/day/99.png b/dataset/day/99.png new file mode 100644 index 0000000..155b9b9 Binary files /dev/null and b/dataset/day/99.png differ diff --git a/dataset/fog/0.png b/dataset/fog/0.png new file mode 100644 index 0000000..4d18494 Binary files /dev/null and b/dataset/fog/0.png differ diff --git a/dataset/fog/1.png b/dataset/fog/1.png new file mode 100644 index 0000000..1762aa9 Binary files /dev/null and b/dataset/fog/1.png differ diff --git a/dataset/fog/10.png b/dataset/fog/10.png new file mode 100644 index 0000000..2b13c46 Binary files /dev/null and b/dataset/fog/10.png differ diff --git a/dataset/fog/11.png b/dataset/fog/11.png new file mode 100644 index 0000000..a138873 Binary files /dev/null and b/dataset/fog/11.png differ diff --git a/dataset/fog/12.png b/dataset/fog/12.png new file mode 100644 index 0000000..5e72e5e Binary files /dev/null and b/dataset/fog/12.png differ diff --git a/dataset/fog/13.png b/dataset/fog/13.png new file mode 100644 index 0000000..afff460 Binary files /dev/null and b/dataset/fog/13.png differ diff --git a/dataset/fog/14.png b/dataset/fog/14.png new file mode 100644 index 0000000..06e1b23 Binary files /dev/null and b/dataset/fog/14.png differ diff --git a/dataset/fog/15.png b/dataset/fog/15.png new file mode 100644 index 0000000..f1b5483 Binary files /dev/null and b/dataset/fog/15.png differ diff --git a/dataset/fog/16.png b/dataset/fog/16.png new file mode 100644 index 0000000..03ff301 Binary files /dev/null and b/dataset/fog/16.png differ diff --git a/dataset/fog/17.png b/dataset/fog/17.png new file mode 100644 index 0000000..b6fe6e6 Binary files /dev/null and b/dataset/fog/17.png differ diff --git a/dataset/fog/18.png b/dataset/fog/18.png new file mode 100644 index 0000000..81a7707 Binary files /dev/null and b/dataset/fog/18.png differ diff --git a/dataset/fog/19.png b/dataset/fog/19.png new file mode 100644 index 0000000..0ea03aa Binary files /dev/null and b/dataset/fog/19.png differ diff --git a/dataset/fog/2.png b/dataset/fog/2.png new file mode 100644 index 0000000..e22ea26 Binary files /dev/null and b/dataset/fog/2.png differ diff --git a/dataset/fog/20.png b/dataset/fog/20.png new file mode 100644 index 0000000..4afa8f0 Binary files /dev/null and b/dataset/fog/20.png differ diff --git a/dataset/fog/21.png b/dataset/fog/21.png new file mode 100644 index 0000000..a9e4117 Binary files /dev/null and b/dataset/fog/21.png differ diff --git a/dataset/fog/22.png b/dataset/fog/22.png new file mode 100644 index 0000000..61f1f1e Binary files /dev/null and b/dataset/fog/22.png differ diff --git a/dataset/fog/23.png b/dataset/fog/23.png new file mode 100644 index 0000000..e3573b1 Binary files /dev/null and b/dataset/fog/23.png differ diff --git a/dataset/fog/24.png b/dataset/fog/24.png new file mode 100644 index 0000000..413a3f0 Binary files /dev/null and b/dataset/fog/24.png differ diff --git a/dataset/fog/25.png b/dataset/fog/25.png new file mode 100644 index 0000000..8002d9a Binary files /dev/null and b/dataset/fog/25.png differ diff --git a/dataset/fog/26.png b/dataset/fog/26.png new file mode 100644 index 0000000..c8ddb27 Binary files /dev/null and b/dataset/fog/26.png differ diff --git a/dataset/fog/27.png b/dataset/fog/27.png new file mode 100644 index 0000000..5362289 Binary files /dev/null and b/dataset/fog/27.png differ diff --git a/dataset/fog/28.png b/dataset/fog/28.png new file mode 100644 index 0000000..b7803ab Binary files /dev/null and b/dataset/fog/28.png differ diff --git a/dataset/fog/29.png b/dataset/fog/29.png new file mode 100644 index 0000000..9802ce1 Binary files /dev/null and b/dataset/fog/29.png differ diff --git a/dataset/fog/3.png b/dataset/fog/3.png new file mode 100644 index 0000000..0ca9389 Binary files /dev/null and b/dataset/fog/3.png differ diff --git a/dataset/fog/30.png b/dataset/fog/30.png new file mode 100644 index 0000000..f149580 Binary files /dev/null and b/dataset/fog/30.png differ diff --git a/dataset/fog/31.png b/dataset/fog/31.png new file mode 100644 index 0000000..1bd574d Binary files /dev/null and b/dataset/fog/31.png differ diff --git a/dataset/fog/32.png b/dataset/fog/32.png new file mode 100644 index 0000000..6d45ef7 Binary files /dev/null and b/dataset/fog/32.png differ diff --git a/dataset/fog/33.png b/dataset/fog/33.png new file mode 100644 index 0000000..c0c0fee Binary files /dev/null and b/dataset/fog/33.png differ diff --git a/dataset/fog/34.png b/dataset/fog/34.png new file mode 100644 index 0000000..b4fb88d Binary files /dev/null and b/dataset/fog/34.png differ diff --git a/dataset/fog/35.png b/dataset/fog/35.png new file mode 100644 index 0000000..ee2a966 Binary files /dev/null and b/dataset/fog/35.png differ diff --git a/dataset/fog/36.png b/dataset/fog/36.png new file mode 100644 index 0000000..b021dbf Binary files /dev/null and b/dataset/fog/36.png differ diff --git a/dataset/fog/37.png b/dataset/fog/37.png new file mode 100644 index 0000000..0e6cd5f Binary files /dev/null and b/dataset/fog/37.png differ diff --git a/dataset/fog/38.png b/dataset/fog/38.png new file mode 100644 index 0000000..636cf5b Binary files /dev/null and b/dataset/fog/38.png differ diff --git a/dataset/fog/39.png b/dataset/fog/39.png new file mode 100644 index 0000000..3368e60 Binary files /dev/null and b/dataset/fog/39.png differ diff --git a/dataset/fog/4.png b/dataset/fog/4.png new file mode 100644 index 0000000..6b6b076 Binary files /dev/null and b/dataset/fog/4.png differ diff --git a/dataset/fog/40.png b/dataset/fog/40.png new file mode 100644 index 0000000..c89e4a4 Binary files /dev/null and b/dataset/fog/40.png differ diff --git a/dataset/fog/41.png b/dataset/fog/41.png new file mode 100644 index 0000000..3c0a18d Binary files /dev/null and b/dataset/fog/41.png differ diff --git a/dataset/fog/42.png b/dataset/fog/42.png new file mode 100644 index 0000000..1b1cc3d Binary files /dev/null and b/dataset/fog/42.png differ diff --git a/dataset/fog/43.png b/dataset/fog/43.png new file mode 100644 index 0000000..09abff5 Binary files /dev/null and b/dataset/fog/43.png differ diff --git a/dataset/fog/44.png b/dataset/fog/44.png new file mode 100644 index 0000000..7543c3d Binary files /dev/null and b/dataset/fog/44.png differ diff --git a/dataset/fog/45.png b/dataset/fog/45.png new file mode 100644 index 0000000..50cc2e9 Binary files /dev/null and b/dataset/fog/45.png differ diff --git a/dataset/fog/46.png b/dataset/fog/46.png new file mode 100644 index 0000000..c4660fb Binary files /dev/null and b/dataset/fog/46.png differ diff --git a/dataset/fog/47.png b/dataset/fog/47.png new file mode 100644 index 0000000..dc1caf3 Binary files /dev/null and b/dataset/fog/47.png differ diff --git a/dataset/fog/48.png b/dataset/fog/48.png new file mode 100644 index 0000000..56f6d36 Binary files /dev/null and b/dataset/fog/48.png differ diff --git a/dataset/fog/49.png b/dataset/fog/49.png new file mode 100644 index 0000000..f77d94f Binary files /dev/null and b/dataset/fog/49.png differ diff --git a/dataset/fog/5.png b/dataset/fog/5.png new file mode 100644 index 0000000..b1f6532 Binary files /dev/null and b/dataset/fog/5.png differ diff --git a/dataset/fog/50.png b/dataset/fog/50.png new file mode 100644 index 0000000..d7ccb78 Binary files /dev/null and b/dataset/fog/50.png differ diff --git a/dataset/fog/51.png b/dataset/fog/51.png new file mode 100644 index 0000000..d271c8e Binary files /dev/null and b/dataset/fog/51.png differ diff --git a/dataset/fog/52.png b/dataset/fog/52.png new file mode 100644 index 0000000..bd85d59 Binary files /dev/null and b/dataset/fog/52.png differ diff --git a/dataset/fog/53.png b/dataset/fog/53.png new file mode 100644 index 0000000..68843c1 Binary files /dev/null and b/dataset/fog/53.png differ diff --git a/dataset/fog/54.png b/dataset/fog/54.png new file mode 100644 index 0000000..232518e Binary files /dev/null and b/dataset/fog/54.png differ diff --git a/dataset/fog/55.png b/dataset/fog/55.png new file mode 100644 index 0000000..db58f01 Binary files /dev/null and b/dataset/fog/55.png differ diff --git a/dataset/fog/56.png b/dataset/fog/56.png new file mode 100644 index 0000000..ca71b24 Binary files /dev/null and b/dataset/fog/56.png differ diff --git a/dataset/fog/57.png b/dataset/fog/57.png new file mode 100644 index 0000000..afbc5ec Binary files /dev/null and b/dataset/fog/57.png differ diff --git a/dataset/fog/58.png b/dataset/fog/58.png new file mode 100644 index 0000000..688efc5 Binary files /dev/null and b/dataset/fog/58.png differ diff --git a/dataset/fog/59.png b/dataset/fog/59.png new file mode 100644 index 0000000..07800e8 Binary files /dev/null and b/dataset/fog/59.png differ diff --git a/dataset/fog/6.png b/dataset/fog/6.png new file mode 100644 index 0000000..4814dd8 Binary files /dev/null and b/dataset/fog/6.png differ diff --git a/dataset/fog/60.png b/dataset/fog/60.png new file mode 100644 index 0000000..a6e6db1 Binary files /dev/null and b/dataset/fog/60.png differ diff --git a/dataset/fog/61.png b/dataset/fog/61.png new file mode 100644 index 0000000..f4d9280 Binary files /dev/null and b/dataset/fog/61.png differ diff --git a/dataset/fog/62.png b/dataset/fog/62.png new file mode 100644 index 0000000..715a2c0 Binary files /dev/null and b/dataset/fog/62.png differ diff --git a/dataset/fog/63.png b/dataset/fog/63.png new file mode 100644 index 0000000..4947b1b Binary files /dev/null and b/dataset/fog/63.png differ diff --git a/dataset/fog/64.png b/dataset/fog/64.png new file mode 100644 index 0000000..b204e5c Binary files /dev/null and b/dataset/fog/64.png differ diff --git a/dataset/fog/65.png b/dataset/fog/65.png new file mode 100644 index 0000000..3020ebd Binary files /dev/null and b/dataset/fog/65.png differ diff --git a/dataset/fog/66.png b/dataset/fog/66.png new file mode 100644 index 0000000..30ecd3a Binary files /dev/null and b/dataset/fog/66.png differ diff --git a/dataset/fog/67.png b/dataset/fog/67.png new file mode 100644 index 0000000..6e32d3e Binary files /dev/null and b/dataset/fog/67.png differ diff --git a/dataset/fog/68.png b/dataset/fog/68.png new file mode 100644 index 0000000..d65a870 Binary files /dev/null and b/dataset/fog/68.png differ diff --git a/dataset/fog/69.png b/dataset/fog/69.png new file mode 100644 index 0000000..15e6082 Binary files /dev/null and b/dataset/fog/69.png differ diff --git a/dataset/fog/7.png b/dataset/fog/7.png new file mode 100644 index 0000000..de7cfb0 Binary files /dev/null and b/dataset/fog/7.png differ diff --git a/dataset/fog/70.png b/dataset/fog/70.png new file mode 100644 index 0000000..1a8dfb6 Binary files /dev/null and b/dataset/fog/70.png differ diff --git a/dataset/fog/71.png b/dataset/fog/71.png new file mode 100644 index 0000000..ffaec49 Binary files /dev/null and b/dataset/fog/71.png differ diff --git a/dataset/fog/72.png b/dataset/fog/72.png new file mode 100644 index 0000000..4ce62b4 Binary files /dev/null and b/dataset/fog/72.png differ diff --git a/dataset/fog/73.png b/dataset/fog/73.png new file mode 100644 index 0000000..6433353 Binary files /dev/null and b/dataset/fog/73.png differ diff --git a/dataset/fog/74.png b/dataset/fog/74.png new file mode 100644 index 0000000..af3e8e9 Binary files /dev/null and b/dataset/fog/74.png differ diff --git a/dataset/fog/75.png b/dataset/fog/75.png new file mode 100644 index 0000000..42b35f0 Binary files /dev/null and b/dataset/fog/75.png differ diff --git a/dataset/fog/76.png b/dataset/fog/76.png new file mode 100644 index 0000000..47dd852 Binary files /dev/null and b/dataset/fog/76.png differ diff --git a/dataset/fog/77.png b/dataset/fog/77.png new file mode 100644 index 0000000..6518d97 Binary files /dev/null and b/dataset/fog/77.png differ diff --git a/dataset/fog/78.png b/dataset/fog/78.png new file mode 100644 index 0000000..900a240 Binary files /dev/null and b/dataset/fog/78.png differ diff --git a/dataset/fog/79.png b/dataset/fog/79.png new file mode 100644 index 0000000..b203bd8 Binary files /dev/null and b/dataset/fog/79.png differ diff --git a/dataset/fog/8.png b/dataset/fog/8.png new file mode 100644 index 0000000..a82c68f Binary files /dev/null and b/dataset/fog/8.png differ diff --git a/dataset/fog/80.png b/dataset/fog/80.png new file mode 100644 index 0000000..cab9e2e Binary files /dev/null and b/dataset/fog/80.png differ diff --git a/dataset/fog/81.png b/dataset/fog/81.png new file mode 100644 index 0000000..46a5bae Binary files /dev/null and b/dataset/fog/81.png differ diff --git a/dataset/fog/82.png b/dataset/fog/82.png new file mode 100644 index 0000000..2b07620 Binary files /dev/null and b/dataset/fog/82.png differ diff --git a/dataset/fog/83.png b/dataset/fog/83.png new file mode 100644 index 0000000..92bbc52 Binary files /dev/null and b/dataset/fog/83.png differ diff --git a/dataset/fog/84.png b/dataset/fog/84.png new file mode 100644 index 0000000..2233721 Binary files /dev/null and b/dataset/fog/84.png differ diff --git a/dataset/fog/85.png b/dataset/fog/85.png new file mode 100644 index 0000000..8fd5e12 Binary files /dev/null and b/dataset/fog/85.png differ diff --git a/dataset/fog/86.png b/dataset/fog/86.png new file mode 100644 index 0000000..c3198ac Binary files /dev/null and b/dataset/fog/86.png differ diff --git a/dataset/fog/87.png b/dataset/fog/87.png new file mode 100644 index 0000000..cdd85ad Binary files /dev/null and b/dataset/fog/87.png differ diff --git a/dataset/fog/88.png b/dataset/fog/88.png new file mode 100644 index 0000000..f36aa34 Binary files /dev/null and b/dataset/fog/88.png differ diff --git a/dataset/fog/89.png b/dataset/fog/89.png new file mode 100644 index 0000000..c8443bf Binary files /dev/null and b/dataset/fog/89.png differ diff --git a/dataset/fog/9.png b/dataset/fog/9.png new file mode 100644 index 0000000..5a0d2ab Binary files /dev/null and b/dataset/fog/9.png differ diff --git a/dataset/fog/90.png b/dataset/fog/90.png new file mode 100644 index 0000000..0837112 Binary files /dev/null and b/dataset/fog/90.png differ diff --git a/dataset/fog/91.png b/dataset/fog/91.png new file mode 100644 index 0000000..4dd49d4 Binary files /dev/null and b/dataset/fog/91.png differ diff --git a/dataset/fog/92.png b/dataset/fog/92.png new file mode 100644 index 0000000..a2d760b Binary files /dev/null and b/dataset/fog/92.png differ diff --git a/dataset/fog/93.png b/dataset/fog/93.png new file mode 100644 index 0000000..d996ce4 Binary files /dev/null and b/dataset/fog/93.png differ diff --git a/dataset/fog/94.png b/dataset/fog/94.png new file mode 100644 index 0000000..e9febce Binary files /dev/null and b/dataset/fog/94.png differ diff --git a/dataset/fog/95.png b/dataset/fog/95.png new file mode 100644 index 0000000..ce6d4a7 Binary files /dev/null and b/dataset/fog/95.png differ diff --git a/dataset/fog/96.png b/dataset/fog/96.png new file mode 100644 index 0000000..d25c857 Binary files /dev/null and b/dataset/fog/96.png differ diff --git a/dataset/fog/97.png b/dataset/fog/97.png new file mode 100644 index 0000000..d572336 Binary files /dev/null and b/dataset/fog/97.png differ diff --git a/dataset/fog/98.png b/dataset/fog/98.png new file mode 100644 index 0000000..cbe4553 Binary files /dev/null and b/dataset/fog/98.png differ diff --git a/dataset/fog/99.png b/dataset/fog/99.png new file mode 100644 index 0000000..f5c1306 Binary files /dev/null and b/dataset/fog/99.png differ diff --git a/dataset/night/0.png b/dataset/night/0.png new file mode 100644 index 0000000..91914f0 Binary files /dev/null and b/dataset/night/0.png differ diff --git a/dataset/night/1.png b/dataset/night/1.png new file mode 100644 index 0000000..0856874 Binary files /dev/null and b/dataset/night/1.png differ diff --git a/dataset/night/10.png b/dataset/night/10.png new file mode 100644 index 0000000..6ca9471 Binary files /dev/null and b/dataset/night/10.png differ diff --git a/dataset/night/11.png b/dataset/night/11.png new file mode 100644 index 0000000..1357147 Binary files /dev/null and b/dataset/night/11.png differ diff --git a/dataset/night/12.png b/dataset/night/12.png new file mode 100644 index 0000000..4d9a768 Binary files /dev/null and b/dataset/night/12.png differ diff --git a/dataset/night/13.png b/dataset/night/13.png new file mode 100644 index 0000000..68f914a Binary files /dev/null and b/dataset/night/13.png differ diff --git a/dataset/night/14.png b/dataset/night/14.png new file mode 100644 index 0000000..af97d1e Binary files /dev/null and b/dataset/night/14.png differ diff --git a/dataset/night/15.png b/dataset/night/15.png new file mode 100644 index 0000000..e5470a8 Binary files /dev/null and b/dataset/night/15.png differ diff --git a/dataset/night/16.png b/dataset/night/16.png new file mode 100644 index 0000000..953948c Binary files /dev/null and b/dataset/night/16.png differ diff --git a/dataset/night/17.png b/dataset/night/17.png new file mode 100644 index 0000000..2f67f76 Binary files /dev/null and b/dataset/night/17.png differ diff --git a/dataset/night/18.png b/dataset/night/18.png new file mode 100644 index 0000000..01db931 Binary files /dev/null and b/dataset/night/18.png differ diff --git a/dataset/night/19.png b/dataset/night/19.png new file mode 100644 index 0000000..ddc0fae Binary files /dev/null and b/dataset/night/19.png differ diff --git a/dataset/night/2.png b/dataset/night/2.png new file mode 100644 index 0000000..1304244 Binary files /dev/null and b/dataset/night/2.png differ diff --git a/dataset/night/20.png b/dataset/night/20.png new file mode 100644 index 0000000..2746d51 Binary files /dev/null and b/dataset/night/20.png differ diff --git a/dataset/night/21.png b/dataset/night/21.png new file mode 100644 index 0000000..1805e6b Binary files /dev/null and b/dataset/night/21.png differ diff --git a/dataset/night/22.png b/dataset/night/22.png new file mode 100644 index 0000000..ad355d5 Binary files /dev/null and b/dataset/night/22.png differ diff --git a/dataset/night/23.png b/dataset/night/23.png new file mode 100644 index 0000000..23f51f4 Binary files /dev/null and b/dataset/night/23.png differ diff --git a/dataset/night/24.png b/dataset/night/24.png new file mode 100644 index 0000000..5a51d71 Binary files /dev/null and b/dataset/night/24.png differ diff --git a/dataset/night/25.png b/dataset/night/25.png new file mode 100644 index 0000000..c0b4ef5 Binary files /dev/null and b/dataset/night/25.png differ diff --git a/dataset/night/26.png b/dataset/night/26.png new file mode 100644 index 0000000..660bfdf Binary files /dev/null and b/dataset/night/26.png differ diff --git a/dataset/night/27.png b/dataset/night/27.png new file mode 100644 index 0000000..942eef9 Binary files /dev/null and b/dataset/night/27.png differ diff --git a/dataset/night/28.png b/dataset/night/28.png new file mode 100644 index 0000000..46625e3 Binary files /dev/null and b/dataset/night/28.png differ diff --git a/dataset/night/29.png b/dataset/night/29.png new file mode 100644 index 0000000..922a364 Binary files /dev/null and b/dataset/night/29.png differ diff --git a/dataset/night/3.png b/dataset/night/3.png new file mode 100644 index 0000000..3c6d3d3 Binary files /dev/null and b/dataset/night/3.png differ diff --git a/dataset/night/30.png b/dataset/night/30.png new file mode 100644 index 0000000..a599ecb Binary files /dev/null and b/dataset/night/30.png differ diff --git a/dataset/night/31.png b/dataset/night/31.png new file mode 100644 index 0000000..a1fef37 Binary files /dev/null and b/dataset/night/31.png differ diff --git a/dataset/night/32.png b/dataset/night/32.png new file mode 100644 index 0000000..d152fff Binary files /dev/null and b/dataset/night/32.png differ diff --git a/dataset/night/33.png b/dataset/night/33.png new file mode 100644 index 0000000..a449e26 Binary files /dev/null and b/dataset/night/33.png differ diff --git a/dataset/night/34.png b/dataset/night/34.png new file mode 100644 index 0000000..df7b9ff Binary files /dev/null and b/dataset/night/34.png differ diff --git a/dataset/night/35.png b/dataset/night/35.png new file mode 100644 index 0000000..7ce14ed Binary files /dev/null and b/dataset/night/35.png differ diff --git a/dataset/night/36.png b/dataset/night/36.png new file mode 100644 index 0000000..a50a9b4 Binary files /dev/null and b/dataset/night/36.png differ diff --git a/dataset/night/37.png b/dataset/night/37.png new file mode 100644 index 0000000..baf8c76 Binary files /dev/null and b/dataset/night/37.png differ diff --git a/dataset/night/38.png b/dataset/night/38.png new file mode 100644 index 0000000..c711874 Binary files /dev/null and b/dataset/night/38.png differ diff --git a/dataset/night/39.png b/dataset/night/39.png new file mode 100644 index 0000000..3f75271 Binary files /dev/null and b/dataset/night/39.png differ diff --git a/dataset/night/4.png b/dataset/night/4.png new file mode 100644 index 0000000..ad1f16c Binary files /dev/null and b/dataset/night/4.png differ diff --git a/dataset/night/40.png b/dataset/night/40.png new file mode 100644 index 0000000..0ea2085 Binary files /dev/null and b/dataset/night/40.png differ diff --git a/dataset/night/41.png b/dataset/night/41.png new file mode 100644 index 0000000..c8a78b4 Binary files /dev/null and b/dataset/night/41.png differ diff --git a/dataset/night/42.png b/dataset/night/42.png new file mode 100644 index 0000000..d556d10 Binary files /dev/null and b/dataset/night/42.png differ diff --git a/dataset/night/43.png b/dataset/night/43.png new file mode 100644 index 0000000..2bff006 Binary files /dev/null and b/dataset/night/43.png differ diff --git a/dataset/night/44.png b/dataset/night/44.png new file mode 100644 index 0000000..aaa807e Binary files /dev/null and b/dataset/night/44.png differ diff --git a/dataset/night/45.png b/dataset/night/45.png new file mode 100644 index 0000000..115a524 Binary files /dev/null and b/dataset/night/45.png differ diff --git a/dataset/night/46.png b/dataset/night/46.png new file mode 100644 index 0000000..0a05f8e Binary files /dev/null and b/dataset/night/46.png differ diff --git a/dataset/night/47.png b/dataset/night/47.png new file mode 100644 index 0000000..af999a2 Binary files /dev/null and b/dataset/night/47.png differ diff --git a/dataset/night/48.png b/dataset/night/48.png new file mode 100644 index 0000000..de989af Binary files /dev/null and b/dataset/night/48.png differ diff --git a/dataset/night/49.png b/dataset/night/49.png new file mode 100644 index 0000000..495d611 Binary files /dev/null and b/dataset/night/49.png differ diff --git a/dataset/night/5.png b/dataset/night/5.png new file mode 100644 index 0000000..ea5d63c Binary files /dev/null and b/dataset/night/5.png differ diff --git a/dataset/night/50.png b/dataset/night/50.png new file mode 100644 index 0000000..e8671a7 Binary files /dev/null and b/dataset/night/50.png differ diff --git a/dataset/night/51.png b/dataset/night/51.png new file mode 100644 index 0000000..67c6800 Binary files /dev/null and b/dataset/night/51.png differ diff --git a/dataset/night/52.png b/dataset/night/52.png new file mode 100644 index 0000000..fa1df65 Binary files /dev/null and b/dataset/night/52.png differ diff --git a/dataset/night/53.png b/dataset/night/53.png new file mode 100644 index 0000000..7b2be9c Binary files /dev/null and b/dataset/night/53.png differ diff --git a/dataset/night/54.png b/dataset/night/54.png new file mode 100644 index 0000000..bc81453 Binary files /dev/null and b/dataset/night/54.png differ diff --git a/dataset/night/55.png b/dataset/night/55.png new file mode 100644 index 0000000..9811241 Binary files /dev/null and b/dataset/night/55.png differ diff --git a/dataset/night/56.png b/dataset/night/56.png new file mode 100644 index 0000000..8daa7f2 Binary files /dev/null and b/dataset/night/56.png differ diff --git a/dataset/night/57.png b/dataset/night/57.png new file mode 100644 index 0000000..aceae08 Binary files /dev/null and b/dataset/night/57.png differ diff --git a/dataset/night/58.png b/dataset/night/58.png new file mode 100644 index 0000000..0d99364 Binary files /dev/null and b/dataset/night/58.png differ diff --git a/dataset/night/59.png b/dataset/night/59.png new file mode 100644 index 0000000..62daba3 Binary files /dev/null and b/dataset/night/59.png differ diff --git a/dataset/night/6.png b/dataset/night/6.png new file mode 100644 index 0000000..0ca3631 Binary files /dev/null and b/dataset/night/6.png differ diff --git a/dataset/night/60.png b/dataset/night/60.png new file mode 100644 index 0000000..8148bb3 Binary files /dev/null and b/dataset/night/60.png differ diff --git a/dataset/night/61.png b/dataset/night/61.png new file mode 100644 index 0000000..65843e4 Binary files /dev/null and b/dataset/night/61.png differ diff --git a/dataset/night/62.png b/dataset/night/62.png new file mode 100644 index 0000000..8e940f0 Binary files /dev/null and b/dataset/night/62.png differ diff --git a/dataset/night/63.png b/dataset/night/63.png new file mode 100644 index 0000000..f7732da Binary files /dev/null and b/dataset/night/63.png differ diff --git a/dataset/night/64.png b/dataset/night/64.png new file mode 100644 index 0000000..a751e1d Binary files /dev/null and b/dataset/night/64.png differ diff --git a/dataset/night/65.png b/dataset/night/65.png new file mode 100644 index 0000000..c696b81 Binary files /dev/null and b/dataset/night/65.png differ diff --git a/dataset/night/66.png b/dataset/night/66.png new file mode 100644 index 0000000..4bc0a0d Binary files /dev/null and b/dataset/night/66.png differ diff --git a/dataset/night/67.png b/dataset/night/67.png new file mode 100644 index 0000000..5b68c4a Binary files /dev/null and b/dataset/night/67.png differ diff --git a/dataset/night/68.png b/dataset/night/68.png new file mode 100644 index 0000000..958f763 Binary files /dev/null and b/dataset/night/68.png differ diff --git a/dataset/night/69.png b/dataset/night/69.png new file mode 100644 index 0000000..c33827d Binary files /dev/null and b/dataset/night/69.png differ diff --git a/dataset/night/7.png b/dataset/night/7.png new file mode 100644 index 0000000..c7507ea Binary files /dev/null and b/dataset/night/7.png differ diff --git a/dataset/night/70.png b/dataset/night/70.png new file mode 100644 index 0000000..627c97c Binary files /dev/null and b/dataset/night/70.png differ diff --git a/dataset/night/71.png b/dataset/night/71.png new file mode 100644 index 0000000..09ccc40 Binary files /dev/null and b/dataset/night/71.png differ diff --git a/dataset/night/72.png b/dataset/night/72.png new file mode 100644 index 0000000..ab4672b Binary files /dev/null and b/dataset/night/72.png differ diff --git a/dataset/night/73.png b/dataset/night/73.png new file mode 100644 index 0000000..6c53136 Binary files /dev/null and b/dataset/night/73.png differ diff --git a/dataset/night/74.png b/dataset/night/74.png new file mode 100644 index 0000000..c261f45 Binary files /dev/null and b/dataset/night/74.png differ diff --git a/dataset/night/75.png b/dataset/night/75.png new file mode 100644 index 0000000..26b5b62 Binary files /dev/null and b/dataset/night/75.png differ diff --git a/dataset/night/76.png b/dataset/night/76.png new file mode 100644 index 0000000..1011730 Binary files /dev/null and b/dataset/night/76.png differ diff --git a/dataset/night/77.png b/dataset/night/77.png new file mode 100644 index 0000000..a2625a9 Binary files /dev/null and b/dataset/night/77.png differ diff --git a/dataset/night/78.png b/dataset/night/78.png new file mode 100644 index 0000000..e9da566 Binary files /dev/null and b/dataset/night/78.png differ diff --git a/dataset/night/79.png b/dataset/night/79.png new file mode 100644 index 0000000..8b4cf82 Binary files /dev/null and b/dataset/night/79.png differ diff --git a/dataset/night/8.png b/dataset/night/8.png new file mode 100644 index 0000000..690f9fe Binary files /dev/null and b/dataset/night/8.png differ diff --git a/dataset/night/80.png b/dataset/night/80.png new file mode 100644 index 0000000..d64461c Binary files /dev/null and b/dataset/night/80.png differ diff --git a/dataset/night/81.png b/dataset/night/81.png new file mode 100644 index 0000000..d8cae0b Binary files /dev/null and b/dataset/night/81.png differ diff --git a/dataset/night/82.png b/dataset/night/82.png new file mode 100644 index 0000000..06faf6d Binary files /dev/null and b/dataset/night/82.png differ diff --git a/dataset/night/83.png b/dataset/night/83.png new file mode 100644 index 0000000..69fed3f Binary files /dev/null and b/dataset/night/83.png differ diff --git a/dataset/night/84.png b/dataset/night/84.png new file mode 100644 index 0000000..67928ec Binary files /dev/null and b/dataset/night/84.png differ diff --git a/dataset/night/85.png b/dataset/night/85.png new file mode 100644 index 0000000..713dc18 Binary files /dev/null and b/dataset/night/85.png differ diff --git a/dataset/night/86.png b/dataset/night/86.png new file mode 100644 index 0000000..b1f0ab9 Binary files /dev/null and b/dataset/night/86.png differ diff --git a/dataset/night/87.png b/dataset/night/87.png new file mode 100644 index 0000000..42bcae3 Binary files /dev/null and b/dataset/night/87.png differ diff --git a/dataset/night/88.png b/dataset/night/88.png new file mode 100644 index 0000000..2203808 Binary files /dev/null and b/dataset/night/88.png differ diff --git a/dataset/night/89.png b/dataset/night/89.png new file mode 100644 index 0000000..499a579 Binary files /dev/null and b/dataset/night/89.png differ diff --git a/dataset/night/9.png b/dataset/night/9.png new file mode 100644 index 0000000..43103d8 Binary files /dev/null and b/dataset/night/9.png differ diff --git a/dataset/night/90.png b/dataset/night/90.png new file mode 100644 index 0000000..43646fb Binary files /dev/null and b/dataset/night/90.png differ diff --git a/dataset/night/91.png b/dataset/night/91.png new file mode 100644 index 0000000..1b5d4cf Binary files /dev/null and b/dataset/night/91.png differ diff --git a/dataset/night/92.png b/dataset/night/92.png new file mode 100644 index 0000000..404bc67 Binary files /dev/null and b/dataset/night/92.png differ diff --git a/dataset/night/93.png b/dataset/night/93.png new file mode 100644 index 0000000..0138d6b Binary files /dev/null and b/dataset/night/93.png differ diff --git a/dataset/night/94.png b/dataset/night/94.png new file mode 100644 index 0000000..2686c61 Binary files /dev/null and b/dataset/night/94.png differ diff --git a/dataset/night/95.png b/dataset/night/95.png new file mode 100644 index 0000000..82879d8 Binary files /dev/null and b/dataset/night/95.png differ diff --git a/dataset/night/96.png b/dataset/night/96.png new file mode 100644 index 0000000..85b919c Binary files /dev/null and b/dataset/night/96.png differ diff --git a/dataset/night/97.png b/dataset/night/97.png new file mode 100644 index 0000000..4615d1e Binary files /dev/null and b/dataset/night/97.png differ diff --git a/dataset/night/98.png b/dataset/night/98.png new file mode 100644 index 0000000..340c3cd Binary files /dev/null and b/dataset/night/98.png differ diff --git a/dataset/night/99.png b/dataset/night/99.png new file mode 100644 index 0000000..14bd57f Binary files /dev/null and b/dataset/night/99.png differ diff --git a/dataset/rain/0.png b/dataset/rain/0.png new file mode 100644 index 0000000..6055029 Binary files /dev/null and b/dataset/rain/0.png differ diff --git a/dataset/rain/1.png b/dataset/rain/1.png new file mode 100644 index 0000000..af585c3 Binary files /dev/null and b/dataset/rain/1.png differ diff --git a/dataset/rain/10.png b/dataset/rain/10.png new file mode 100644 index 0000000..928fa12 Binary files /dev/null and b/dataset/rain/10.png differ diff --git a/dataset/rain/11.png b/dataset/rain/11.png new file mode 100644 index 0000000..627f5de Binary files /dev/null and b/dataset/rain/11.png differ diff --git a/dataset/rain/12.png b/dataset/rain/12.png new file mode 100644 index 0000000..0e9ccaf Binary files /dev/null and b/dataset/rain/12.png differ diff --git a/dataset/rain/13.png b/dataset/rain/13.png new file mode 100644 index 0000000..6f02e6e Binary files /dev/null and b/dataset/rain/13.png differ diff --git a/dataset/rain/14.png b/dataset/rain/14.png new file mode 100644 index 0000000..3f6c792 Binary files /dev/null and b/dataset/rain/14.png differ diff --git a/dataset/rain/15.png b/dataset/rain/15.png new file mode 100644 index 0000000..134f319 Binary files /dev/null and b/dataset/rain/15.png differ diff --git a/dataset/rain/16.png b/dataset/rain/16.png new file mode 100644 index 0000000..36b76a9 Binary files /dev/null and b/dataset/rain/16.png differ diff --git a/dataset/rain/17.png b/dataset/rain/17.png new file mode 100644 index 0000000..7d40005 Binary files /dev/null and b/dataset/rain/17.png differ diff --git a/dataset/rain/18.png b/dataset/rain/18.png new file mode 100644 index 0000000..211b85f Binary files /dev/null and b/dataset/rain/18.png differ diff --git a/dataset/rain/19.png b/dataset/rain/19.png new file mode 100644 index 0000000..e33792a Binary files /dev/null and b/dataset/rain/19.png differ diff --git a/dataset/rain/2.png b/dataset/rain/2.png new file mode 100644 index 0000000..54aad4e Binary files /dev/null and b/dataset/rain/2.png differ diff --git a/dataset/rain/20.png b/dataset/rain/20.png new file mode 100644 index 0000000..6d2bc92 Binary files /dev/null and b/dataset/rain/20.png differ diff --git a/dataset/rain/21.png b/dataset/rain/21.png new file mode 100644 index 0000000..11d5d4c Binary files /dev/null and b/dataset/rain/21.png differ diff --git a/dataset/rain/22.png b/dataset/rain/22.png new file mode 100644 index 0000000..bd1c8a0 Binary files /dev/null and b/dataset/rain/22.png differ diff --git a/dataset/rain/23.png b/dataset/rain/23.png new file mode 100644 index 0000000..3d38651 Binary files /dev/null and b/dataset/rain/23.png differ diff --git a/dataset/rain/24.png b/dataset/rain/24.png new file mode 100644 index 0000000..dbbfa42 Binary files /dev/null and b/dataset/rain/24.png differ diff --git a/dataset/rain/25.png b/dataset/rain/25.png new file mode 100644 index 0000000..7c289fc Binary files /dev/null and b/dataset/rain/25.png differ diff --git a/dataset/rain/26.png b/dataset/rain/26.png new file mode 100644 index 0000000..7cff2a9 Binary files /dev/null and b/dataset/rain/26.png differ diff --git a/dataset/rain/27.png b/dataset/rain/27.png new file mode 100644 index 0000000..0f430d3 Binary files /dev/null and b/dataset/rain/27.png differ diff --git a/dataset/rain/28.png b/dataset/rain/28.png new file mode 100644 index 0000000..59bc20d Binary files /dev/null and b/dataset/rain/28.png differ diff --git a/dataset/rain/29.png b/dataset/rain/29.png new file mode 100644 index 0000000..c0f877e Binary files /dev/null and b/dataset/rain/29.png differ diff --git a/dataset/rain/3.png b/dataset/rain/3.png new file mode 100644 index 0000000..12cc98b Binary files /dev/null and b/dataset/rain/3.png differ diff --git a/dataset/rain/30.png b/dataset/rain/30.png new file mode 100644 index 0000000..7b84646 Binary files /dev/null and b/dataset/rain/30.png differ diff --git a/dataset/rain/31.png b/dataset/rain/31.png new file mode 100644 index 0000000..c6f297b Binary files /dev/null and b/dataset/rain/31.png differ diff --git a/dataset/rain/32.png b/dataset/rain/32.png new file mode 100644 index 0000000..3d3ba27 Binary files /dev/null and b/dataset/rain/32.png differ diff --git a/dataset/rain/33.png b/dataset/rain/33.png new file mode 100644 index 0000000..9f607c0 Binary files /dev/null and b/dataset/rain/33.png differ diff --git a/dataset/rain/34.png b/dataset/rain/34.png new file mode 100644 index 0000000..ac1a63b Binary files /dev/null and b/dataset/rain/34.png differ diff --git a/dataset/rain/35.png b/dataset/rain/35.png new file mode 100644 index 0000000..1cb98dd Binary files /dev/null and b/dataset/rain/35.png differ diff --git a/dataset/rain/36.png b/dataset/rain/36.png new file mode 100644 index 0000000..b29dcfb Binary files /dev/null and b/dataset/rain/36.png differ diff --git a/dataset/rain/37.png b/dataset/rain/37.png new file mode 100644 index 0000000..b283377 Binary files /dev/null and b/dataset/rain/37.png differ diff --git a/dataset/rain/38.png b/dataset/rain/38.png new file mode 100644 index 0000000..de8a86a Binary files /dev/null and b/dataset/rain/38.png differ diff --git a/dataset/rain/39.png b/dataset/rain/39.png new file mode 100644 index 0000000..7f949cc Binary files /dev/null and b/dataset/rain/39.png differ diff --git a/dataset/rain/4.png b/dataset/rain/4.png new file mode 100644 index 0000000..081b35d Binary files /dev/null and b/dataset/rain/4.png differ diff --git a/dataset/rain/40.png b/dataset/rain/40.png new file mode 100644 index 0000000..55af51d Binary files /dev/null and b/dataset/rain/40.png differ diff --git a/dataset/rain/41.png b/dataset/rain/41.png new file mode 100644 index 0000000..cb1bf47 Binary files /dev/null and b/dataset/rain/41.png differ diff --git a/dataset/rain/42.png b/dataset/rain/42.png new file mode 100644 index 0000000..4c9d5c3 Binary files /dev/null and b/dataset/rain/42.png differ diff --git a/dataset/rain/43.png b/dataset/rain/43.png new file mode 100644 index 0000000..51dcd58 Binary files /dev/null and b/dataset/rain/43.png differ diff --git a/dataset/rain/44.png b/dataset/rain/44.png new file mode 100644 index 0000000..b84998d Binary files /dev/null and b/dataset/rain/44.png differ diff --git a/dataset/rain/45.png b/dataset/rain/45.png new file mode 100644 index 0000000..c7a5894 Binary files /dev/null and b/dataset/rain/45.png differ diff --git a/dataset/rain/46.png b/dataset/rain/46.png new file mode 100644 index 0000000..3fd6000 Binary files /dev/null and b/dataset/rain/46.png differ diff --git a/dataset/rain/47.png b/dataset/rain/47.png new file mode 100644 index 0000000..c1afdd2 Binary files /dev/null and b/dataset/rain/47.png differ diff --git a/dataset/rain/48.png b/dataset/rain/48.png new file mode 100644 index 0000000..c7cd2fc Binary files /dev/null and b/dataset/rain/48.png differ diff --git a/dataset/rain/49.png b/dataset/rain/49.png new file mode 100644 index 0000000..be199f8 Binary files /dev/null and b/dataset/rain/49.png differ diff --git a/dataset/rain/5.png b/dataset/rain/5.png new file mode 100644 index 0000000..5864d18 Binary files /dev/null and b/dataset/rain/5.png differ diff --git a/dataset/rain/50.png b/dataset/rain/50.png new file mode 100644 index 0000000..35157d2 Binary files /dev/null and b/dataset/rain/50.png differ diff --git a/dataset/rain/51.png b/dataset/rain/51.png new file mode 100644 index 0000000..cbf2ea1 Binary files /dev/null and b/dataset/rain/51.png differ diff --git a/dataset/rain/52.png b/dataset/rain/52.png new file mode 100644 index 0000000..34ea16f Binary files /dev/null and b/dataset/rain/52.png differ diff --git a/dataset/rain/53.png b/dataset/rain/53.png new file mode 100644 index 0000000..7a69d0e Binary files /dev/null and b/dataset/rain/53.png differ diff --git a/dataset/rain/54.png b/dataset/rain/54.png new file mode 100644 index 0000000..4b90366 Binary files /dev/null and b/dataset/rain/54.png differ diff --git a/dataset/rain/55.png b/dataset/rain/55.png new file mode 100644 index 0000000..8dc2050 Binary files /dev/null and b/dataset/rain/55.png differ diff --git a/dataset/rain/56.png b/dataset/rain/56.png new file mode 100644 index 0000000..ca350d2 Binary files /dev/null and b/dataset/rain/56.png differ diff --git a/dataset/rain/57.png b/dataset/rain/57.png new file mode 100644 index 0000000..ad06d25 Binary files /dev/null and b/dataset/rain/57.png differ diff --git a/dataset/rain/58.png b/dataset/rain/58.png new file mode 100644 index 0000000..e6e7031 Binary files /dev/null and b/dataset/rain/58.png differ diff --git a/dataset/rain/59.png b/dataset/rain/59.png new file mode 100644 index 0000000..a8d6424 Binary files /dev/null and b/dataset/rain/59.png differ diff --git a/dataset/rain/6.png b/dataset/rain/6.png new file mode 100644 index 0000000..8fb57d4 Binary files /dev/null and b/dataset/rain/6.png differ diff --git a/dataset/rain/60.png b/dataset/rain/60.png new file mode 100644 index 0000000..f7d99fb Binary files /dev/null and b/dataset/rain/60.png differ diff --git a/dataset/rain/61.png b/dataset/rain/61.png new file mode 100644 index 0000000..d430193 Binary files /dev/null and b/dataset/rain/61.png differ diff --git a/dataset/rain/62.png b/dataset/rain/62.png new file mode 100644 index 0000000..737ff4f Binary files /dev/null and b/dataset/rain/62.png differ diff --git a/dataset/rain/63.png b/dataset/rain/63.png new file mode 100644 index 0000000..68f973d Binary files /dev/null and b/dataset/rain/63.png differ diff --git a/dataset/rain/64.png b/dataset/rain/64.png new file mode 100644 index 0000000..d1c2533 Binary files /dev/null and b/dataset/rain/64.png differ diff --git a/dataset/rain/65.png b/dataset/rain/65.png new file mode 100644 index 0000000..182cd05 Binary files /dev/null and b/dataset/rain/65.png differ diff --git a/dataset/rain/66.png b/dataset/rain/66.png new file mode 100644 index 0000000..7b89322 Binary files /dev/null and b/dataset/rain/66.png differ diff --git a/dataset/rain/67.png b/dataset/rain/67.png new file mode 100644 index 0000000..b6ca8f1 Binary files /dev/null and b/dataset/rain/67.png differ diff --git a/dataset/rain/68.png b/dataset/rain/68.png new file mode 100644 index 0000000..5d65e11 Binary files /dev/null and b/dataset/rain/68.png differ diff --git a/dataset/rain/69.png b/dataset/rain/69.png new file mode 100644 index 0000000..889ec08 Binary files /dev/null and b/dataset/rain/69.png differ diff --git a/dataset/rain/7.png b/dataset/rain/7.png new file mode 100644 index 0000000..0e93a36 Binary files /dev/null and b/dataset/rain/7.png differ diff --git a/dataset/rain/70.png b/dataset/rain/70.png new file mode 100644 index 0000000..3701206 Binary files /dev/null and b/dataset/rain/70.png differ diff --git a/dataset/rain/71.png b/dataset/rain/71.png new file mode 100644 index 0000000..e1d32cb Binary files /dev/null and b/dataset/rain/71.png differ diff --git a/dataset/rain/72.png b/dataset/rain/72.png new file mode 100644 index 0000000..1388491 Binary files /dev/null and b/dataset/rain/72.png differ diff --git a/dataset/rain/73.png b/dataset/rain/73.png new file mode 100644 index 0000000..36b9bc5 Binary files /dev/null and b/dataset/rain/73.png differ diff --git a/dataset/rain/74.png b/dataset/rain/74.png new file mode 100644 index 0000000..a9230cc Binary files /dev/null and b/dataset/rain/74.png differ diff --git a/dataset/rain/75.png b/dataset/rain/75.png new file mode 100644 index 0000000..949e103 Binary files /dev/null and b/dataset/rain/75.png differ diff --git a/dataset/rain/76.png b/dataset/rain/76.png new file mode 100644 index 0000000..2b2e240 Binary files /dev/null and b/dataset/rain/76.png differ diff --git a/dataset/rain/77.png b/dataset/rain/77.png new file mode 100644 index 0000000..a005040 Binary files /dev/null and b/dataset/rain/77.png differ diff --git a/dataset/rain/78.png b/dataset/rain/78.png new file mode 100644 index 0000000..c68054e Binary files /dev/null and b/dataset/rain/78.png differ diff --git a/dataset/rain/79.png b/dataset/rain/79.png new file mode 100644 index 0000000..3fb2da6 Binary files /dev/null and b/dataset/rain/79.png differ diff --git a/dataset/rain/8.png b/dataset/rain/8.png new file mode 100644 index 0000000..faf63c2 Binary files /dev/null and b/dataset/rain/8.png differ diff --git a/dataset/rain/80.png b/dataset/rain/80.png new file mode 100644 index 0000000..caedfa3 Binary files /dev/null and b/dataset/rain/80.png differ diff --git a/dataset/rain/81.png b/dataset/rain/81.png new file mode 100644 index 0000000..ca93b60 Binary files /dev/null and b/dataset/rain/81.png differ diff --git a/dataset/rain/82.png b/dataset/rain/82.png new file mode 100644 index 0000000..1042e81 Binary files /dev/null and b/dataset/rain/82.png differ diff --git a/dataset/rain/83.png b/dataset/rain/83.png new file mode 100644 index 0000000..f615438 Binary files /dev/null and b/dataset/rain/83.png differ diff --git a/dataset/rain/84.png b/dataset/rain/84.png new file mode 100644 index 0000000..344bff7 Binary files /dev/null and b/dataset/rain/84.png differ diff --git a/dataset/rain/85.png b/dataset/rain/85.png new file mode 100644 index 0000000..5b02a54 Binary files /dev/null and b/dataset/rain/85.png differ diff --git a/dataset/rain/86.png b/dataset/rain/86.png new file mode 100644 index 0000000..773aafd Binary files /dev/null and b/dataset/rain/86.png differ diff --git a/dataset/rain/87.png b/dataset/rain/87.png new file mode 100644 index 0000000..f7b983a Binary files /dev/null and b/dataset/rain/87.png differ diff --git a/dataset/rain/88.png b/dataset/rain/88.png new file mode 100644 index 0000000..7a00789 Binary files /dev/null and b/dataset/rain/88.png differ diff --git a/dataset/rain/89.png b/dataset/rain/89.png new file mode 100644 index 0000000..2492d9f Binary files /dev/null and b/dataset/rain/89.png differ diff --git a/dataset/rain/9.png b/dataset/rain/9.png new file mode 100644 index 0000000..9b7178c Binary files /dev/null and b/dataset/rain/9.png differ diff --git a/dataset/rain/90.png b/dataset/rain/90.png new file mode 100644 index 0000000..dddb21f Binary files /dev/null and b/dataset/rain/90.png differ diff --git a/dataset/rain/91.png b/dataset/rain/91.png new file mode 100644 index 0000000..f186ba2 Binary files /dev/null and b/dataset/rain/91.png differ diff --git a/dataset/rain/92.png b/dataset/rain/92.png new file mode 100644 index 0000000..202741c Binary files /dev/null and b/dataset/rain/92.png differ diff --git a/dataset/rain/93.png b/dataset/rain/93.png new file mode 100644 index 0000000..4ae4564 Binary files /dev/null and b/dataset/rain/93.png differ diff --git a/dataset/rain/94.png b/dataset/rain/94.png new file mode 100644 index 0000000..48cb06a Binary files /dev/null and b/dataset/rain/94.png differ diff --git a/dataset/rain/95.png b/dataset/rain/95.png new file mode 100644 index 0000000..2d4df03 Binary files /dev/null and b/dataset/rain/95.png differ diff --git a/dataset/rain/96.png b/dataset/rain/96.png new file mode 100644 index 0000000..38a8d27 Binary files /dev/null and b/dataset/rain/96.png differ diff --git a/dataset/rain/97.png b/dataset/rain/97.png new file mode 100644 index 0000000..0d1d602 Binary files /dev/null and b/dataset/rain/97.png differ diff --git a/dataset/rain/98.png b/dataset/rain/98.png new file mode 100644 index 0000000..4e97bc9 Binary files /dev/null and b/dataset/rain/98.png differ diff --git a/dataset/rain/99.png b/dataset/rain/99.png new file mode 100644 index 0000000..9b3a84e Binary files /dev/null and b/dataset/rain/99.png differ diff --git a/generate_dataset.ipynb b/generate_dataset.ipynb new file mode 100644 index 0000000..04b6074 --- /dev/null +++ b/generate_dataset.ipynb @@ -0,0 +1,122 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "d4d8ab14", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dataset generation completed!\n" + ] + } + ], + "source": [ + "import carla\n", + "import random\n", + "import time\n", + "import os\n", + "import cv2\n", + "import numpy as np\n", + "from queue import Queue\n", + "\n", + "# Connect to the CARLA server\n", + "def connect_to_carla():\n", + " client = carla.Client('localhost', 2000)\n", + " client.set_timeout(10.0)\n", + " world = client.get_world()\n", + " return client, world\n", + "\n", + "# Generate dataset with different weather conditions\n", + "def generate_dataset(world, output_dir='dataset', num_samples=100):\n", + " if not os.path.exists(output_dir):\n", + " os.makedirs(output_dir)\n", + " \n", + " # Define weather conditions\n", + " weather_conditions = {\n", + " 'day': carla.WeatherParameters.ClearNoon,\n", + " 'night': carla.WeatherParameters.ClearNight,\n", + " 'rain': carla.WeatherParameters.HardRainNoon,\n", + " 'fog': carla.WeatherParameters(fog_density=80.0) \n", + " }\n", + " \n", + " blueprint_library = world.get_blueprint_library()\n", + " vehicle_bp = blueprint_library.filter('model3')[0]\n", + " camera_bp = blueprint_library.find('sensor.camera.rgb')\n", + " camera_bp.set_attribute('image_size_x', '224')\n", + " camera_bp.set_attribute('image_size_y', '224')\n", + " \n", + " spawn_points = world.get_map().get_spawn_points()\n", + " \n", + " for condition_name, weather in weather_conditions.items():\n", + " world.set_weather(weather)\n", + " condition_dir = os.path.join(output_dir, condition_name)\n", + " os.makedirs(condition_dir, exist_ok=True)\n", + " \n", + " for i in range(num_samples):\n", + " # Select a random spawn point\n", + " spawn_point = random.choice(spawn_points)\n", + " # Spawning the vehicle\n", + " vehicle = world.spawn_actor(vehicle_bp, spawn_point)\n", + " # Attaching the camera to the vehicle\n", + " camera = world.spawn_actor(camera_bp, carla.Transform(carla.Location(x=2.5, z=0.7)), \n", + " attach_to=vehicle)\n", + " \n", + " image_queue = Queue()\n", + " camera.listen(lambda image: image_queue.put(image))\n", + " \n", + " # Take a step in the simulation\n", + " world.tick()\n", + " # Capturing the image\n", + " image = image_queue.get()\n", + " image.save_to_disk(os.path.join(condition_dir, f'{i}.png'))\n", + " \n", + " # Cleanup\n", + " camera.stop()\n", + " vehicle.destroy()\n", + " time.sleep(0.1) # A small delay for stability\n", + " \n", + " print(\"Dataset generation completed!\")\n", + "\n", + "def main():\n", + " client, world = connect_to_carla()\n", + " generate_dataset(world)\n", + "\n", + "if __name__ == '__main__':\n", + " main()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "057972e2", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "CARLA", + "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.8.20" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/weather_classifier.ipynb b/weather_classifier.ipynb new file mode 100644 index 0000000..c8c9fbb --- /dev/null +++ b/weather_classifier.ipynb @@ -0,0 +1,246 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/10\n", + "18/18 [==============================] - 18s 921ms/step - loss: 1.1108 - accuracy: 0.4786 - val_loss: 0.6209 - val_accuracy: 0.7667\n", + "Epoch 2/10\n", + "18/18 [==============================] - 17s 903ms/step - loss: 0.6030 - accuracy: 0.7429 - val_loss: 0.5008 - val_accuracy: 0.7500\n", + "Epoch 3/10\n", + "18/18 [==============================] - 16s 874ms/step - loss: 0.4938 - accuracy: 0.8143 - val_loss: 0.4502 - val_accuracy: 0.7500\n", + "Epoch 4/10\n", + "18/18 [==============================] - 16s 877ms/step - loss: 0.4135 - accuracy: 0.8429 - val_loss: 0.2619 - val_accuracy: 0.9167\n", + "Epoch 5/10\n", + "18/18 [==============================] - 16s 874ms/step - loss: 0.4073 - accuracy: 0.8536 - val_loss: 0.3747 - val_accuracy: 0.9167\n", + "Epoch 6/10\n", + "18/18 [==============================] - 16s 912ms/step - loss: 0.3834 - accuracy: 0.8429 - val_loss: 0.2093 - val_accuracy: 0.9000\n", + "Epoch 7/10\n", + "18/18 [==============================] - 16s 901ms/step - loss: 0.2993 - accuracy: 0.8821 - val_loss: 0.1958 - val_accuracy: 0.9500\n", + "Epoch 8/10\n", + "18/18 [==============================] - 17s 920ms/step - loss: 0.2952 - accuracy: 0.8679 - val_loss: 0.3355 - val_accuracy: 0.8500\n", + "Epoch 9/10\n", + "18/18 [==============================] - 17s 935ms/step - loss: 0.2363 - accuracy: 0.8929 - val_loss: 0.0929 - val_accuracy: 0.9667\n", + "Epoch 10/10\n", + "18/18 [==============================] - 17s 934ms/step - loss: 0.2416 - accuracy: 0.9107 - val_loss: 0.2089 - val_accuracy: 0.9333\n" + ] + }, + { + "data": { + "image/png": "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R4/St29fVq5ciY+Pj9nhZAk2m41q1aoxYsQIAB566CF27drFl19+qUb7PsyePZsZM2Ywc+ZMypcvT0REBP369aNAgQK6riJZlNp651Bbnz7U3juf2vq0U5J+D/LkyYO7uzunTp1Ktf3UqVPkz5/fpKiyjj59+vDTTz+xfv16ChUqZHY4mdq2bduIjo6mSpUqjm1Wq5X169czbtw4EhMTcXd3NzHCzCc0NJRy5cql2la2bFnmzZtnUkRZwxtvvMGgQYNo3749ABUqVODw4cOMHDlSDbeYQm19+lJb7zxq69OH2nvnU1ufdpqTfg+8vLyoWrUqq1atcmyz2WysWrWKWrVqmRhZ5ma32+nTpw8LFixg9erVFC1a1OyQMr1GjRqxc+dOIiIiHI9q1arRsWNHIiIi1Gjfgzp16txQLmjfvn088MADJkWUNVy8eBE3t9RNkru7OzabzaSIJLtTW58+1NY7n9r69KH23vnU1qedetLvUf/+/enSpQvVqlWjRo0ajB07loSEBLp162Z2aJlW7969mTlzJj/++CMBAQFERUUBEBQUhK+vr8nRZU4BAQE3zPPz9/cnd+7cmv93j1577TVq167NiBEjeOaZZ9iyZQsTJ05k4sSJZoeWqbVs2ZIPPviAIkWKUL58ef7880/GjBlD9+7dzQ5NsjG19c6ntt751NanD7X3zqe2/i7Y5Z59/vnn9iJFiti9vLzsNWrUsG/evNnskDI14KaPqVOnmh1allK/fn173759zQ4jU1u8eLH9wQcftHt7e9vLlCljnzhxotkhZXpxcXH2vn372osUKWL38fGxFytWzD5kyBB7YmKi2aFJNqe23rnU1mcMtfXOofbeudTWp53qpIuIiIiIiIi4CM1JFxEREREREXERStJFREREREREXISSdBEREREREREXoSRdRERERERExEUoSRcRERERERFxEUrSRURERERERFyEknQRERERERERF6EkXURERERERMRFKEkXkQxnsVhYuHCh2WGIiIhIOlFbL3LvlKSLZDNdu3bFYrHc8GjatKnZoYmIiIgTqK0Xydw8zA5ARDJe06ZNmTp1aqpt3t7eJkUjIiIizqa2XiTzUk+6SDbk7e1N/vz5Uz2Cg4MBY3jahAkTaNasGb6+vhQrVoy5c+em+vzOnTt59NFH8fX1JXfu3LzwwgvEx8en2mfKlCmUL18eb29vQkND6dOnT6r3T58+zVNPPYWfnx8lS5Zk0aJF6fulRUREshG19SKZl5J0EbnB0KFDad26NTt27KBjx460b9+ePXv2AJCQkEB4eDjBwcFs3bqVOXPm8Msvv6RqmCdMmEDv3r154YUX2LlzJ4sWLaJEiRKpzvHOO+/wzDPP8Ndff9G8eXM6duzI2bNnM/R7ioiIZFdq60VcmF1EspUuXbrY3d3d7f7+/qkeH3zwgd1ut9sBe69evVJ9pmbNmvaXXnrJbrfb7RMnTrQHBwfb4+PjHe8vWbLE7ubmZo+KirLb7XZ7gQIF7EOGDLllDID9rbfecryOj4+3A/Zly5Y57XuKiIhkV2rrRTI3zUkXyYYaNmzIhAkTUm3LlSuX43mtWrVSvVerVi0iIiIA2LNnD5UqVcLf39/xfp06dbDZbERGRmKxWDhx4gSNGjW6bQwVK1Z0PPf39ycwMJDo6Oh7/UoiIiJyDbX1IpmXknSRbMjf3/+GIWnO4uvrm6b9PD09U722WCzYbLb0CElERCTbUVsvknlpTrqI3GDz5s03vC5btiwAZcuWZceOHSQkJDje37hxI25ubpQuXZqAgADCwsJYtWpVhsYsIiIiaae2XsR1qSddJBtKTEwkKioq1TYPDw/y5MkDwJw5c6hWrRqPPPIIM2bMYMuWLUyePBmAjh078vbbb9OlSxeGDx9OTEwMr7zyCs899xwhISEADB8+nF69epEvXz6aNWvGhQsX2LhxI6+88krGflEREZFsSm29SOalJF0kG1q+fDmhoaGptpUuXZq9e/cCxmqss2bN4uWXXyY0NJTvv/+ecuXKAeDn58eKFSvo27cv1atXx8/Pj9atWzNmzBjHsbp06cLly5f53//+x4ABA8iTJw9t2rTJuC8oIiKSzamtF8m8LHa73W52ECLiOiwWCwsWLKBVq1ZmhyIiIiLpQG29iGvTnHQRERERERERF6EkXURERERERMRFaLi7iIiIiIiIiItQT7qIiIiIiIiIi1CSLiIiIiIiIuIilKSLiIiIiIiIuAgl6SIiIiIiIiIuQkm6iIiIiIiIiItQki4iIiIiIiLiIpSki4iIiIiIiLgIJekiIiIiIiIiLuL/AaJ8KMe6V2HpAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2/2 [==============================] - 1s 433ms/step - loss: 0.0877 - accuracy: 0.9500\n", + "Test accuracy: 0.9500\n", + "2/2 [==============================] - 1s 431ms/step\n" + ] + }, + { + "data": { + "image/png": "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/FB4eLgk6dSpUzk6//DhwwoICFCFChVc9kdGRqpQoUI6fPiwy/4yZcpc1kbhwoX1+++/X2PEl7v//vvVsGFD9ejRQyVKlFCnTp00f/78P03ysuOsXLnyZceqVq2qX3/9VWfOnHHZf+m1FC5cWJJydS133nmnwsLC9O9//1tz587VLbfcctnXMltWVpYmTpyoihUryuFw6IYbblCxYsW0bds2paSk5LjPUqVK5epGiZdffllFihRRUlKSJk+erOLFi+f4vQDsg8QO8EPh4eGKiorSjh07cvW+S29euJrAwMAr7jfGXHMf2fO/soWEhGjt2rVasWKFunTpom3btun+++9XixYtLjv37/g715LN4XCoY8eOmj17thYuXHjVap0kjRs3TgMGDFCjRo303nvv6YsvvtDy5ctVvXr1HFcmpYtfn9zYunWrjh8/Lknavn17rt4LwD5I7AA/1bZtW+3fv18bN278y3NjYmKUlZWlvXv3uuw/duyYTp486bzD1R0KFy7scgdptkurgpIUEBCgZs2aacKECfr+++/1/PPPa9WqVVq9evUV286Oc/fu3Zcd++GHH3TDDTcoNDT0713AVTz44IPaunWrTp06dcUbTrJ9+OGHatq0qWbMmKFOnTqpZcuWat68+WVfk5wm2Tlx5swZdevWTdWqVVPPnj314osvavPmzW5rH4D/ILED/NQzzzyj0NBQ9ejRQ8eOHbvs+P79+/Xqq69KujiUKOmyO1cnTJggSWrTpo3b4ipfvrxSUlK0bds2574jR45o4cKFLuf99ttvl703e6HeS5dgyVayZEnVrl1bs2fPdkmUduzYoWXLljmv0xOaNm2qMWPG6LXXXlNkZORVzwsMDLysGvif//xHP/30k8u+7AT0Sklwbg0ePFg//vijZs+erQkTJig2NlZdu3a96tcRgH2xQDHgp8qXL6958+bp/vvvV9WqVV2ePPHVV1/pP//5j+Lj4yVJtWrVUteuXfXmm2/q5MmTaty4sTZt2qTZs2erQ4cOV11K41p06tRJgwcP1t13360nnnhCZ8+e1bRp01SpUiWXmwdGjx6ttWvXqk2bNoqJidHx48f1+uuvq3Tp0rrtttuu2v5LL72kuLg4NWjQQN27d9e5c+c0ZcoURUREaOTIkW67jksFBATo2Wef/cvz2rZtq9GjR6tbt2669dZbtX37ds2d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W0xaWpq3QsclfvvtN2OMMdu2bTObNm1y7r/nnntM1apVzbx588y5c+dc3jNo0CCzf//+6xoncib792bfvn1N69atjTHGZGVlmQsXLhhjjHn77bdNgQIFTIcOHcyqVau8Fif8j2UMf8rldX+cQ/XBBx9o9+7dCggIUIcOHVSzZk3neampqVq5cqXeeustffPNN6pSpYo2bNjgrbCRAytXrtTUqVN18uRJde/eXRs3btT999+v22+/XTt27NCrr76qxMRE9e7dW48++qgk6csvv1R6erruuOMOBQYG6sKFC9wt60Xmf/PjjDE6evSo7rzzTlWqVEnPPPOMbr75ZklS+/btdfDgQQ0ZMkQdO3ZUcHCwl6PGpa42V/XDDz/Ufffdpw8++ED33Xefc/97772nDz74QMeOHVPNmjX1zjvvXM9w4cdI7OA0ePBgffDBB6pcubJCQkL05ZdfasmSJc6bJLI/YFJTU7Vz507dd999GjNmjOLj470bOP7Uhg0bNGHCBJ04cUIpKSlavHixSpUqJUnauXOnJk2apK1bt6p3797q0aOHy3szMzMVGBjojbBxFbNmzdL06dNVtWpV9e3bV3Xr1pV0MblLTk7W448/rgcffFAOh8PLkSLbH5O6lStX6vfff5fD4VDLli3lcDg0ePBgTZo0SdOnT1ejRo1UuHBhxcfHq127dipRooQ6dOig7du3q3r16l6+EvgFL1YL4UOmTZtmSpcubTZv3myMMWbu3LnGsiwTHBxsPv/8c2PMxaGDrKwsY4wxZ86cMW3btjXPPfec12LG1V06PL5y5UrTrl07ExISYv7zn/+4HNu5c6fp1auXKV26tFm8ePH1DBPX6N133zU333yziY+Pd/7MGmNMkyZNTMOGDU1KSooXo8PVDBw40JQpU8aUKVPGxMbGmtjYWLNz505jjDEjRowwBQoUMDExMaZMmTKmWrVq5vz582br1q2mQoUK5tChQ16OHv6C8RUoNTVVe/fu1ahRo1S3bl0tXrxYvXv31ssvv6ykpCTdc889+uyzz9S4cWPnJOwCBQooMDBQO3fuVGZmpgICArjzzkcYY5zVgY8//ljt27fXHXfcoeDgYBlj9Oqrryo4OFht27aVJFWrVk2PPfaYypYtq9atW3szdPyB+V+F/Ntvv9V3332nCxcu6NZbb1XNmjXVpUsXGWM0efJkTZ06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4bI/PT1dN910kyRp165dLnFIciaBAOArSOwAuFXTpk01bdo0BQUFKSoqSvny/f+vmdDQUJdzT58+rZtvvllz5869rJ1ixYpdU/8hISG5fs/p06clSUuWLFGpUqVcjjkcjmuKAwC8gcQOgFuFhoaqQoUKOTq3Tp06+ve//63ixYsrPDz8iueULFlS33zzjRo1aiRJunDhgrZs2aI6depc8fyaNWsqKytLX375pXMo9o+yK4aZmZnOfdWqVZPD4dCPP/541Upf1apV9cknn7js+/rrr//6IgHgOuLmCQBe07lzZ91www1q37691q1bp4MHD2rNmjV64okn9N///leS9OSTT+qFF17QokWL9MMPP6hPnz5/ugZdbGysunbtqkceeUSLFi1ytjl//nxJUkxMjCzL0uLFi/XLL7/o9OnTCgsL08CBA/XUU09p9uzZ2r9/vxITEzVlyhTNnj1bktS7d2/t3btXgwYN0u7duzVv3jzNmjXL018iAMgVEjsAXlOgQAGtXbtWZcqUUceOHVW1alV1795d58+fd1bwnn76aXXp0kVdu3ZVgwYNFBYWprvvvvtP2502bZruvfde9enTR1WqVNGjjz6qM2fOSJJKlSqlUaNGaciQISpRooT69esnSRozZoyGDx+uhIQEVa1aVa1bt9aSJUtUtmxZSVKZMmW0YMECLVq0SLVq1dL06dM1btw4D351ACD3LHO1GcgAAADwK1TsAAAAbILEDgAAwCZI7AAAAGyCxA4AAMAmSOwAAABsgsQOAADAJkjsAAAAbILEDgAAwCZI7AAAAGyCxA4AAMAmSOwAAABs4v8A36dhzn3bVGoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\koohi\\anaconda3\\envs\\CARLA\\lib\\site-packages\\keras\\src\\engine\\training.py:3000: UserWarning: You are saving your model as an HDF5 file via `model.save()`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')`.\n", + " saving_api.save_model(\n" + ] + } + ], + "source": [ + "import os\n", + "import cv2\n", + "import numpy as np\n", + "import tensorflow as tf\n", + "from tensorflow.keras import layers, models\n", + "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n", + "from tensorflow.keras.callbacks import EarlyStopping\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.metrics import confusion_matrix\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Prepare dataset for training\n", + "def prepare_dataset(dataset_dir='dataset'):\n", + " images = []\n", + " labels = []\n", + " label_map = {'day': 0, 'night': 1, 'rain': 2, 'fog': 3}\n", + " \n", + " for condition in label_map.keys():\n", + " condition_dir = os.path.join(dataset_dir, condition)\n", + " for img_name in os.listdir(condition_dir):\n", + " img_path = os.path.join(condition_dir, img_name)\n", + " img = cv2.imread(img_path)\n", + " if img is None: # Check if the image is loaded correctly\n", + " continue\n", + " img = cv2.resize(img, (224, 224))\n", + " images.append(img)\n", + " labels.append(label_map[condition])\n", + " \n", + " images = np.array(images) / 255.0 # Normalize images\n", + " labels = tf.keras.utils.to_categorical(labels, num_classes=4)\n", + " \n", + " # Split data into Train and Temp (which will later be split into Validation and Test)\n", + " X_train, X_temp, y_train, y_temp = train_test_split(images, labels, \n", + " test_size=0.3, \n", + " random_state=42)\n", + " \n", + " # Split Temp into Validation and Test\n", + " X_val, X_test, y_val, y_test = train_test_split(X_temp, y_temp, \n", + " test_size=0.5, \n", + " random_state=42)\n", + " \n", + " return X_train, X_val, X_test, y_train, y_val, y_test\n", + "\n", + "# Build and train CNN model\n", + "def build_and_train_model(X_train, y_train, X_val, y_val):\n", + " model = models.Sequential([\n", + " layers.Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3)),\n", + " layers.MaxPooling2D((2, 2)),\n", + " layers.Conv2D(64, (3, 3), activation='relu'),\n", + " layers.MaxPooling2D((2, 2)),\n", + " layers.Conv2D(64, (3, 3), activation='relu'),\n", + " layers.MaxPooling2D((2, 2)),\n", + " layers.Dropout(0.3), # Add Dropout to prevent Overfitting\n", + " layers.Flatten(),\n", + " layers.Dense(64, activation='relu'),\n", + " layers.Dropout(0.3), # Another Dropout before the final layer\n", + " layers.Dense(4, activation='softmax')\n", + " ])\n", + " \n", + " model.compile(optimizer='adam',\n", + " loss='categorical_crossentropy',\n", + " metrics=['accuracy'])\n", + " \n", + " # Data Augmentation for Train\n", + " datagen = ImageDataGenerator(\n", + " rotation_range=20,\n", + " width_shift_range=0.2,\n", + " height_shift_range=0.2,\n", + " horizontal_flip=True,\n", + " zoom_range=0.2\n", + " )\n", + " \n", + " # Early Stopping to prevent Overfitting\n", + " early_stopping = EarlyStopping(monitor='val_loss', patience=3, restore_best_weights=True)\n", + " \n", + " # Train the model with Data Augmentation\n", + " history = model.fit(datagen.flow(X_train, y_train, batch_size=16),\n", + " epochs=10,\n", + " validation_data=(X_val, y_val),\n", + " callbacks=[early_stopping])\n", + " \n", + " return model, history\n", + "\n", + "# Plot learning curves\n", + "def plot_learning_curves(history):\n", + " plt.figure(figsize=(12, 4))\n", + " \n", + " # Accuracy\n", + " plt.subplot(1, 2, 1)\n", + " plt.plot(history.history['accuracy'], label='Train Accuracy')\n", + " plt.plot(history.history['val_accuracy'], label='Validation Accuracy')\n", + " plt.title('Accuracy over Epochs')\n", + " plt.xlabel('Epoch')\n", + " plt.ylabel('Accuracy')\n", + " plt.legend()\n", + " \n", + " # Loss\n", + " plt.subplot(1, 2, 2)\n", + " plt.plot(history.history['loss'], label='Train Loss')\n", + " plt.plot(history.history['val_loss'], label='Validation Loss')\n", + " plt.title('Loss over Epochs')\n", + " plt.xlabel('Epoch')\n", + " plt.ylabel('Loss')\n", + " plt.legend()\n", + " \n", + " plt.show()\n", + "\n", + "# Evaluate model and plot confusion matrix\n", + "def evaluate_model(model, X_test, y_test):\n", + " test_loss, test_accuracy = model.evaluate(X_test, y_test)\n", + " print(f\"Test accuracy: {test_accuracy:.4f}\")\n", + " \n", + " y_pred = model.predict(X_test)\n", + " y_pred_classes = np.argmax(y_pred, axis=1)\n", + " y_test_classes = np.argmax(y_test, axis=1)\n", + " \n", + " cm = confusion_matrix(y_test_classes, y_pred_classes)\n", + " \n", + " plt.figure(figsize=(8, 6))\n", + " plt.imshow(cm, interpolation='nearest', cmap=plt.cm.Blues)\n", + " plt.title('Confusion Matrix')\n", + " plt.colorbar()\n", + " classes = ['Day', 'Night', 'Rain', 'Fog']\n", + " tick_marks = np.arange(len(classes))\n", + " plt.xticks(tick_marks, classes, rotation=45)\n", + " plt.yticks(tick_marks, classes)\n", + " plt.xlabel('Predicted')\n", + " plt.ylabel('True')\n", + " plt.show()\n", + "\n", + "# Main execution for training\n", + "def main():\n", + " # Prepare the data\n", + " X_train, X_val, X_test, y_train, y_val, y_test = prepare_dataset()\n", + " \n", + " # Train the model\n", + " model, history = build_and_train_model(X_train, y_train, X_val, y_val)\n", + " \n", + " # Plot learning curves\n", + " plot_learning_curves(history)\n", + " \n", + " # Evaluate the model on Test data\n", + " evaluate_model(model, X_test, y_test)\n", + " \n", + " # Save the model\n", + " model.save('weather_classifier_model.h5')\n", + "\n", + "if __name__ == '__main__':\n", + " main()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "CARLA", + "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.8.20" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/weather_classifier_model.h5 b/weather_classifier_model.h5 new file mode 100644 index 0000000..7ac4385 Binary files /dev/null and b/weather_classifier_model.h5 differ