From 59e978bca813bcac675155c02b75904ff3648352 Mon Sep 17 00:00:00 2001 From: nagayosi Date: Tue, 5 Mar 2019 09:55:16 +0900 Subject: [PATCH] fixed --- Dataset/test/akahara_0009.jpg | Bin 0 -> 24781 bytes Dataset/test/akahara_0010.jpg | Bin 0 -> 63399 bytes Dataset/test/akahara_0011.jpg | Bin 0 -> 20396 bytes Dataset/test/madara_0009.jpg | Bin 0 -> 19181 bytes Dataset/test/madara_0010.jpg | Bin 0 -> 21391 bytes Dataset/test/madara_0011.jpg | Bin 0 -> 41841 bytes Dataset/train/akahara_0004.jpg | Bin 0 -> 59463 bytes Dataset/train/akahara_0005.jpg | Bin 0 -> 20008 bytes Dataset/train/akahara_0007.jpg | Bin 0 -> 47112 bytes Dataset/train/madara_0001.jpg | Bin 0 -> 51205 bytes Dataset/train/madara_0003.jpg | Bin 0 -> 26689 bytes Dataset/train/madara_0006.jpg | Bin 0 -> 49384 bytes Question_01_10/README.md | 60 ++-- Question_01_10/{ => answers}/answer_1.jpg | Bin Question_01_10/{ => answers}/answer_1.py | 0 Question_01_10/{ => answers}/answer_10.jpg | Bin Question_01_10/{ => answers}/answer_10.py | 0 Question_01_10/{ => answers}/answer_2.jpg | Bin Question_01_10/{ => answers}/answer_2.py | 0 Question_01_10/{ => answers}/answer_3.jpg | Bin Question_01_10/{ => answers}/answer_3.py | 0 Question_01_10/{ => answers}/answer_4.jpg | Bin Question_01_10/{ => answers}/answer_4.py | 0 Question_01_10/{ => answers}/answer_5.jpg | Bin Question_01_10/{ => answers}/answer_5.py | 0 Question_01_10/{ => answers}/answer_6.jpg | Bin Question_01_10/{ => answers}/answer_6.py | 0 Question_01_10/{ => answers}/answer_7.jpg | Bin Question_01_10/{ => answers}/answer_7.py | 0 Question_01_10/{ => answers}/answer_8.jpg | Bin Question_01_10/{ => answers}/answer_8.py | 0 Question_01_10/{ => answers}/answer_9.jpg | Bin Question_01_10/{ => answers}/answer_9.py | 0 Question_11_20/README.md | 60 ++-- Question_11_20/{ => answers}/answer_11.jpg | Bin Question_11_20/{ => answers}/answer_11.py | 0 Question_11_20/{ => answers}/answer_12.jpg | Bin Question_11_20/{ => answers}/answer_12.py | 0 Question_11_20/{ => answers}/answer_13.jpg | Bin Question_11_20/{ => answers}/answer_13.py | 0 Question_11_20/{ => answers}/answer_14.py | 0 Question_11_20/{ => answers}/answer_14_h.jpg | Bin Question_11_20/{ => answers}/answer_14_v.jpg | Bin Question_11_20/{ => answers}/answer_15.py | 0 Question_11_20/{ => answers}/answer_15_h.jpg | Bin Question_11_20/{ => answers}/answer_15_v.jpg | Bin Question_11_20/{ => answers}/answer_16.py | 0 Question_11_20/{ => answers}/answer_16_h.jpg | Bin Question_11_20/{ => answers}/answer_16_v.jpg | Bin Question_11_20/{ => answers}/answer_17.jpg | Bin Question_11_20/{ => answers}/answer_17.py | 0 Question_11_20/{ => answers}/answer_18.jpg | Bin Question_11_20/{ => answers}/answer_18.py | 0 Question_11_20/{ => answers}/answer_19.jpg | Bin Question_11_20/{ => answers}/answer_19.py | 0 Question_11_20/{ => answers}/answer_20.png | Bin Question_11_20/{ => answers}/answer_20.py | 0 Question_21_30/README.md | 60 ++-- Question_21_30/{ => answers}/answer_21.py | 0 Question_21_30/{ => answers}/answer_21_1.jpg | Bin Question_21_30/{ => answers}/answer_21_2.png | Bin Question_21_30/{ => answers}/answer_22.py | 0 Question_21_30/{ => answers}/answer_22_1.jpg | Bin Question_21_30/{ => answers}/answer_22_2.png | Bin Question_21_30/{ => answers}/answer_23.py | 0 Question_21_30/{ => answers}/answer_23_1.jpg | Bin Question_21_30/{ => answers}/answer_23_2.png | Bin Question_21_30/{ => answers}/answer_24.jpg | Bin Question_21_30/{ => answers}/answer_24.py | 0 Question_21_30/{ => answers}/answer_25.jpg | Bin Question_21_30/{ => answers}/answer_25.py | 0 Question_21_30/{ => answers}/answer_26.jpg | Bin Question_21_30/{ => answers}/answer_26.py | 0 Question_21_30/{ => answers}/answer_27.jpg | Bin Question_21_30/{ => answers}/answer_27.py | 0 Question_21_30/{ => answers}/answer_28.jpg | Bin Question_21_30/{ => answers}/answer_28.py | 0 Question_21_30/{ => answers}/answer_29.py | 0 Question_21_30/{ => answers}/answer_29_1.jpg | Bin Question_21_30/{ => answers}/answer_29_2.jpg | Bin Question_21_30/{ => answers}/answer_30_1.jpg | Bin Question_21_30/{ => answers}/answer_30_1.py | 0 Question_21_30/{ => answers}/answer_30_2.jpg | Bin Question_21_30/{ => answers}/answer_30_2.py | 0 Question_31_40/README.md | 60 ++-- Question_31_40/{ => answers}/answer_31.py | 0 Question_31_40/{ => answers}/answer_31_1.jpg | Bin Question_31_40/{ => answers}/answer_31_2.jpg | Bin Question_31_40/{ => answers}/answer_31_3.jpg | Bin Question_31_40/{ => answers}/answer_32.jpg | Bin Question_31_40/{ => answers}/answer_32.py | 0 Question_31_40/{ => answers}/answer_32_ps.jpg | Bin Question_31_40/{ => answers}/answer_33.jpg | Bin Question_31_40/{ => answers}/answer_33.py | 0 Question_31_40/{ => answers}/answer_34.jpg | Bin Question_31_40/{ => answers}/answer_34.py | 0 Question_31_40/{ => answers}/answer_35.jpg | Bin Question_31_40/{ => answers}/answer_35.py | 0 Question_31_40/{ => answers}/answer_36.jpg | Bin Question_31_40/{ => answers}/answer_36.py | 0 Question_31_40/{ => answers}/answer_37.jpg | Bin Question_31_40/{ => answers}/answer_37.py | 0 Question_31_40/{ => answers}/answer_38.jpg | Bin Question_31_40/{ => answers}/answer_38.py | 0 Question_31_40/{ => answers}/answer_39.jpg | Bin Question_31_40/{ => answers}/answer_39.py | 0 Question_31_40/{ => answers}/answer_40.jpg | Bin Question_31_40/{ => answers}/answer_40.py | 0 Question_41_50/README.md | 60 ++-- Question_41_50/{ => answers}/answer_4.jpg | Bin Question_41_50/{ => answers}/answer_41.py | 0 Question_41_50/{ => answers}/answer_41_1.jpg | Bin Question_41_50/{ => answers}/answer_41_2.jpg | Bin Question_41_50/{ => answers}/answer_42.jpg | Bin Question_41_50/{ => answers}/answer_42.py | 0 Question_41_50/{ => answers}/answer_43.jpg | Bin Question_41_50/{ => answers}/answer_43.py | 0 Question_41_50/{ => answers}/answer_44.jpg | Bin Question_41_50/{ => answers}/answer_44.py | 0 Question_41_50/{ => answers}/answer_45.jpg | Bin Question_41_50/{ => answers}/answer_45.py | 0 Question_41_50/{ => answers}/answer_46.jpg | Bin Question_41_50/{ => answers}/answer_46.py | 0 Question_41_50/{ => answers}/answer_47.jpg | Bin Question_41_50/{ => answers}/answer_47.py | 0 Question_41_50/{ => answers}/answer_48.jpg | Bin Question_41_50/{ => answers}/answer_48.py | 0 Question_41_50/{ => answers}/answer_49.jpg | Bin Question_41_50/{ => answers}/answer_49.py | 0 Question_41_50/{ => answers}/answer_50.jpg | Bin Question_41_50/{ => answers}/answer_50.py | 0 Question_51_60/README.md | 60 ++-- Question_51_60/{ => answers}/answer_4.jpg | Bin Question_51_60/{ => answers}/answer_51.jpg | Bin Question_51_60/{ => answers}/answer_51.py | 0 Question_51_60/{ => answers}/answer_52.jpg | Bin Question_51_60/{ => answers}/answer_52.py | 0 Question_51_60/{ => answers}/answer_53.jpg | Bin Question_51_60/{ => answers}/answer_53.py | 0 Question_51_60/{ => answers}/answer_54.jpg | Bin Question_51_60/{ => answers}/answer_54.py | 0 Question_51_60/{ => answers}/answer_55.jpg | Bin Question_51_60/{ => answers}/answer_55.py | 0 Question_51_60/{ => answers}/answer_56.jpg | Bin Question_51_60/{ => answers}/answer_56.py | 0 Question_51_60/{ => answers}/answer_57.jpg | Bin Question_51_60/{ => answers}/answer_57.py | 0 Question_51_60/{ => answers}/answer_58.png | Bin Question_51_60/{ => answers}/answer_58.py | 0 Question_51_60/{ => answers}/answer_59.png | Bin Question_51_60/{ => answers}/answer_59.py | 0 Question_51_60/{ => answers}/answer_60.jpg | Bin Question_51_60/{ => answers}/answer_60.py | 0 Question_61_70/README.md | 54 ++-- Question_61_70/{ => answers}/answer_61.png | Bin Question_61_70/{ => answers}/answer_61.py | 0 Question_61_70/{ => answers}/answer_62.png | Bin Question_61_70/{ => answers}/answer_62.py | 0 Question_61_70/{ => answers}/answer_63.png | Bin Question_61_70/{ => answers}/answer_63.py | 0 Question_61_70/{ => answers}/answer_64.py | 0 Question_61_70/{ => answers}/answer_64_a.py | 0 Question_61_70/{ => answers}/answer_65.png | Bin Question_61_70/{ => answers}/answer_65.py | 0 Question_61_70/{ => answers}/answer_66.py | 0 .../{ => answers}/answer_66_gra.jpg | Bin .../{ => answers}/answer_66_mag.jpg | Bin Question_61_70/{ => answers}/answer_67.png | Bin Question_61_70/{ => answers}/answer_67.py | 0 Question_61_70/{ => answers}/answer_68.png | Bin Question_61_70/{ => answers}/answer_68.py | 0 Question_61_70/{ => answers}/answer_69.jpg | Bin Question_61_70/{ => answers}/answer_69.py | 0 Question_61_70/{ => answers}/answer_70.png | Bin Question_61_70/{ => answers}/answer_70.py | 0 Question_71_80/README.md | 60 ++-- Question_71_80/{ => answers}/answer_70.png | Bin Question_71_80/{ => answers}/answer_71.jpg | Bin Question_71_80/{ => answers}/answer_71.py | 0 Question_71_80/{ => answers}/answer_72.jpg | Bin Question_71_80/{ => answers}/answer_72.py | 0 .../{ => answers}/answer_72_mask.png | Bin Question_71_80/{ => answers}/answer_73.jpg | Bin Question_71_80/{ => answers}/answer_73.py | 0 Question_71_80/{ => answers}/answer_74.jpg | Bin Question_71_80/{ => answers}/answer_74.py | 0 Question_71_80/{ => answers}/answer_75.py | 0 Question_71_80/{ => answers}/answer_75_1.jpg | Bin Question_71_80/{ => answers}/answer_75_16.jpg | Bin Question_71_80/{ => answers}/answer_75_2.jpg | Bin Question_71_80/{ => answers}/answer_75_32.jpg | Bin Question_71_80/{ => answers}/answer_75_4.jpg | Bin Question_71_80/{ => answers}/answer_75_8.jpg | Bin Question_71_80/{ => answers}/answer_76.jpg | Bin Question_71_80/{ => answers}/answer_76.py | 0 Question_71_80/{ => answers}/answer_77.jpg | Bin Question_71_80/{ => answers}/answer_77.py | 0 Question_71_80/{ => answers}/answer_78.png | Bin Question_71_80/{ => answers}/answer_78.py | 0 Question_71_80/{ => answers}/answer_79.png | Bin Question_71_80/{ => answers}/answer_79.py | 0 Question_71_80/{ => answers}/answer_80.jpg | Bin Question_71_80/{ => answers}/answer_80.py | 0 Question_81_90/README.md | 38 +-- Question_81_90/{ => answers}/answer_81.jpg | Bin Question_81_90/{ => answers}/answer_81.py | 0 Question_81_90/{ => answers}/answer_82.png | Bin Question_81_90/{ => answers}/answer_82.py | 0 Question_81_90/{ => answers}/answer_83.jpg | Bin Question_81_90/{ => answers}/answer_83.py | 0 Question_81_90/{ => answers}/answer_84.png | Bin Question_81_90/{ => answers}/answer_84.py | 2 +- Question_81_90/{ => answers}/answer_85.py | 4 +- Question_81_90/{ => answers}/answer_86.py | 4 +- Question_81_90/{ => answers}/answer_87.py | 4 +- Question_81_90/{ => answers}/answer_88.py | 2 +- Question_81_90/{ => answers}/answer_89.py | 2 +- Question_81_90/{ => answers}/answer_90.py | 2 +- .../{ => dataset}/test_akahara_1.jpg | Bin .../{ => dataset}/test_akahara_2.jpg | Bin .../{ => dataset}/test_madara_1.jpg | Bin .../{ => dataset}/test_madara_2.jpg | Bin .../{ => dataset}/train_akahara_1.jpg | Bin .../{ => dataset}/train_akahara_2.jpg | Bin .../{ => dataset}/train_akahara_3.jpg | Bin .../{ => dataset}/train_akahara_4.jpg | Bin .../{ => dataset}/train_akahara_5.jpg | Bin .../{ => dataset}/train_madara_1.jpg | Bin .../{ => dataset}/train_madara_2.jpg | Bin .../{ => dataset}/train_madara_3.jpg | Bin .../{ => dataset}/train_madara_4.jpg | Bin .../{ => dataset}/train_madara_5.jpg | Bin Question_91_100/README.md | 44 +-- Question_91_100/{ => answers}/answer_100.jpg | Bin Question_91_100/{ => answers}/answer_100.py | 0 .../{ => answers}/answer_100_gt.jpg | Bin Question_91_100/{ => answers}/answer_91.jpg | Bin Question_91_100/{ => answers}/answer_91.py | 0 Question_91_100/{ => answers}/answer_92.jpg | Bin Question_91_100/{ => answers}/answer_92.py | 0 .../{ => answers}/answer_92_k10.jpg | Bin Question_91_100/{ => answers}/answer_92_m.jpg | Bin Question_91_100/{ => answers}/answer_93.py | 0 Question_91_100/{ => answers}/answer_94.jpg | Bin Question_91_100/{ => answers}/answer_94.py | 0 Question_91_100/{ => answers}/answer_95.py | 0 Question_91_100/{ => answers}/answer_96.py | 0 Question_91_100/{ => answers}/answer_97.py | 0 Question_91_100/{ => answers}/answer_98.jpg | Bin Question_91_100/{ => answers}/answer_98.py | 0 Question_91_100/{ => answers}/answer_99.jpg | Bin Question_91_100/{ => answers}/answer_99.py | 0 README.md | 5 +- answer_adaptive2.py | 29 ++ trace.py | 104 +++++++ yobi/crop.py | 46 +++ yobi/crop_hog.py | 184 +++++++++++ yobi/crop_hog_nn.py | 294 ++++++++++++++++++ yobi/hog.py | 84 +++++ yobi/neural.py | 118 +++++++ yobi/neuralnet.py | 101 ++++++ yobi/neuralnet2.py | 43 +++ yobi/nn.py | 52 ++++ 263 files changed, 1347 insertions(+), 289 deletions(-) create mode 100755 Dataset/test/akahara_0009.jpg create mode 100755 Dataset/test/akahara_0010.jpg create mode 100755 Dataset/test/akahara_0011.jpg create mode 100755 Dataset/test/madara_0009.jpg create mode 100755 Dataset/test/madara_0010.jpg create mode 100755 Dataset/test/madara_0011.jpg create mode 100755 Dataset/train/akahara_0004.jpg create mode 100755 Dataset/train/akahara_0005.jpg create mode 100755 Dataset/train/akahara_0007.jpg create mode 100755 Dataset/train/madara_0001.jpg create mode 100755 Dataset/train/madara_0003.jpg create mode 100755 Dataset/train/madara_0006.jpg rename Question_01_10/{ => answers}/answer_1.jpg (100%) rename Question_01_10/{ => answers}/answer_1.py (100%) rename Question_01_10/{ => answers}/answer_10.jpg (100%) rename Question_01_10/{ => answers}/answer_10.py (100%) rename Question_01_10/{ => answers}/answer_2.jpg (100%) rename Question_01_10/{ => answers}/answer_2.py (100%) rename Question_01_10/{ => answers}/answer_3.jpg (100%) rename Question_01_10/{ => answers}/answer_3.py (100%) rename Question_01_10/{ => answers}/answer_4.jpg (100%) rename Question_01_10/{ => answers}/answer_4.py (100%) rename Question_01_10/{ => answers}/answer_5.jpg (100%) rename Question_01_10/{ => answers}/answer_5.py (100%) rename Question_01_10/{ => answers}/answer_6.jpg (100%) rename Question_01_10/{ => answers}/answer_6.py (100%) rename Question_01_10/{ => answers}/answer_7.jpg (100%) rename Question_01_10/{ => answers}/answer_7.py (100%) rename Question_01_10/{ => answers}/answer_8.jpg (100%) rename Question_01_10/{ => answers}/answer_8.py (100%) rename Question_01_10/{ => answers}/answer_9.jpg (100%) rename Question_01_10/{ => answers}/answer_9.py (100%) rename Question_11_20/{ => answers}/answer_11.jpg (100%) rename Question_11_20/{ => answers}/answer_11.py (100%) rename Question_11_20/{ => answers}/answer_12.jpg (100%) rename Question_11_20/{ => answers}/answer_12.py (100%) rename Question_11_20/{ => answers}/answer_13.jpg (100%) rename Question_11_20/{ => answers}/answer_13.py (100%) rename Question_11_20/{ => answers}/answer_14.py (100%) rename Question_11_20/{ => answers}/answer_14_h.jpg (100%) rename Question_11_20/{ => answers}/answer_14_v.jpg (100%) rename Question_11_20/{ => answers}/answer_15.py (100%) rename Question_11_20/{ => answers}/answer_15_h.jpg (100%) rename Question_11_20/{ => answers}/answer_15_v.jpg (100%) rename Question_11_20/{ => answers}/answer_16.py (100%) rename Question_11_20/{ => answers}/answer_16_h.jpg (100%) rename Question_11_20/{ => answers}/answer_16_v.jpg (100%) rename Question_11_20/{ => answers}/answer_17.jpg (100%) rename Question_11_20/{ => answers}/answer_17.py (100%) rename Question_11_20/{ => answers}/answer_18.jpg (100%) rename Question_11_20/{ => answers}/answer_18.py (100%) rename Question_11_20/{ => answers}/answer_19.jpg (100%) rename Question_11_20/{ => answers}/answer_19.py (100%) rename Question_11_20/{ => answers}/answer_20.png (100%) rename Question_11_20/{ => answers}/answer_20.py (100%) rename Question_21_30/{ => answers}/answer_21.py (100%) rename Question_21_30/{ => answers}/answer_21_1.jpg (100%) rename Question_21_30/{ => answers}/answer_21_2.png (100%) rename Question_21_30/{ => answers}/answer_22.py (100%) rename Question_21_30/{ => answers}/answer_22_1.jpg (100%) rename Question_21_30/{ => answers}/answer_22_2.png (100%) rename Question_21_30/{ => answers}/answer_23.py (100%) rename Question_21_30/{ => answers}/answer_23_1.jpg (100%) rename Question_21_30/{ => answers}/answer_23_2.png (100%) rename Question_21_30/{ => answers}/answer_24.jpg (100%) rename Question_21_30/{ => answers}/answer_24.py (100%) rename Question_21_30/{ => answers}/answer_25.jpg (100%) rename Question_21_30/{ => answers}/answer_25.py (100%) rename Question_21_30/{ => answers}/answer_26.jpg (100%) rename Question_21_30/{ => answers}/answer_26.py (100%) rename Question_21_30/{ => answers}/answer_27.jpg (100%) rename Question_21_30/{ => answers}/answer_27.py (100%) rename Question_21_30/{ => answers}/answer_28.jpg (100%) rename Question_21_30/{ => answers}/answer_28.py (100%) rename Question_21_30/{ => answers}/answer_29.py (100%) rename Question_21_30/{ => answers}/answer_29_1.jpg (100%) rename Question_21_30/{ => answers}/answer_29_2.jpg (100%) rename Question_21_30/{ => answers}/answer_30_1.jpg (100%) rename Question_21_30/{ => answers}/answer_30_1.py (100%) rename Question_21_30/{ => answers}/answer_30_2.jpg (100%) rename Question_21_30/{ => answers}/answer_30_2.py (100%) rename Question_31_40/{ => answers}/answer_31.py (100%) rename Question_31_40/{ => answers}/answer_31_1.jpg (100%) rename Question_31_40/{ => answers}/answer_31_2.jpg (100%) rename Question_31_40/{ => answers}/answer_31_3.jpg (100%) rename Question_31_40/{ => answers}/answer_32.jpg (100%) rename Question_31_40/{ => answers}/answer_32.py (100%) rename Question_31_40/{ => answers}/answer_32_ps.jpg (100%) rename Question_31_40/{ => answers}/answer_33.jpg (100%) rename Question_31_40/{ => answers}/answer_33.py (100%) rename Question_31_40/{ => answers}/answer_34.jpg (100%) rename Question_31_40/{ => answers}/answer_34.py (100%) rename Question_31_40/{ => answers}/answer_35.jpg (100%) rename Question_31_40/{ => answers}/answer_35.py (100%) rename Question_31_40/{ => answers}/answer_36.jpg (100%) rename Question_31_40/{ => answers}/answer_36.py (100%) rename Question_31_40/{ => answers}/answer_37.jpg (100%) rename Question_31_40/{ => answers}/answer_37.py (100%) rename Question_31_40/{ => answers}/answer_38.jpg (100%) rename Question_31_40/{ => answers}/answer_38.py (100%) rename Question_31_40/{ => answers}/answer_39.jpg (100%) rename Question_31_40/{ => answers}/answer_39.py (100%) rename Question_31_40/{ => answers}/answer_40.jpg (100%) rename Question_31_40/{ => answers}/answer_40.py (100%) rename Question_41_50/{ => answers}/answer_4.jpg (100%) rename Question_41_50/{ => answers}/answer_41.py (100%) rename Question_41_50/{ => answers}/answer_41_1.jpg (100%) rename Question_41_50/{ => answers}/answer_41_2.jpg (100%) rename Question_41_50/{ => answers}/answer_42.jpg (100%) rename Question_41_50/{ => answers}/answer_42.py (100%) rename Question_41_50/{ => answers}/answer_43.jpg (100%) rename Question_41_50/{ => answers}/answer_43.py (100%) rename Question_41_50/{ => answers}/answer_44.jpg (100%) rename Question_41_50/{ => answers}/answer_44.py (100%) rename Question_41_50/{ => answers}/answer_45.jpg (100%) rename Question_41_50/{ => answers}/answer_45.py (100%) rename Question_41_50/{ => answers}/answer_46.jpg (100%) rename Question_41_50/{ => answers}/answer_46.py (100%) rename Question_41_50/{ => answers}/answer_47.jpg (100%) rename Question_41_50/{ => answers}/answer_47.py (100%) rename Question_41_50/{ => answers}/answer_48.jpg (100%) rename Question_41_50/{ => answers}/answer_48.py (100%) rename Question_41_50/{ => answers}/answer_49.jpg (100%) rename Question_41_50/{ => answers}/answer_49.py (100%) rename Question_41_50/{ => answers}/answer_50.jpg (100%) rename Question_41_50/{ => answers}/answer_50.py (100%) rename Question_51_60/{ => answers}/answer_4.jpg (100%) rename Question_51_60/{ => answers}/answer_51.jpg (100%) rename Question_51_60/{ => answers}/answer_51.py (100%) rename Question_51_60/{ => answers}/answer_52.jpg (100%) rename Question_51_60/{ => answers}/answer_52.py (100%) rename Question_51_60/{ => answers}/answer_53.jpg (100%) rename Question_51_60/{ => answers}/answer_53.py (100%) rename Question_51_60/{ => answers}/answer_54.jpg (100%) rename Question_51_60/{ => answers}/answer_54.py (100%) rename Question_51_60/{ => answers}/answer_55.jpg (100%) rename Question_51_60/{ => answers}/answer_55.py (100%) rename Question_51_60/{ => answers}/answer_56.jpg (100%) rename Question_51_60/{ => answers}/answer_56.py (100%) rename Question_51_60/{ => answers}/answer_57.jpg (100%) rename Question_51_60/{ => answers}/answer_57.py (100%) rename Question_51_60/{ => answers}/answer_58.png (100%) rename Question_51_60/{ => answers}/answer_58.py (100%) rename Question_51_60/{ => answers}/answer_59.png (100%) rename Question_51_60/{ => answers}/answer_59.py (100%) rename Question_51_60/{ => answers}/answer_60.jpg (100%) rename Question_51_60/{ => answers}/answer_60.py (100%) rename Question_61_70/{ => answers}/answer_61.png (100%) rename Question_61_70/{ => answers}/answer_61.py (100%) rename Question_61_70/{ => answers}/answer_62.png (100%) rename Question_61_70/{ => answers}/answer_62.py (100%) rename Question_61_70/{ => answers}/answer_63.png (100%) rename Question_61_70/{ => answers}/answer_63.py (100%) rename Question_61_70/{ => answers}/answer_64.py (100%) rename Question_61_70/{ => answers}/answer_64_a.py (100%) rename Question_61_70/{ => answers}/answer_65.png (100%) rename Question_61_70/{ => answers}/answer_65.py (100%) rename Question_61_70/{ => answers}/answer_66.py (100%) rename Question_61_70/{ => answers}/answer_66_gra.jpg (100%) rename Question_61_70/{ => answers}/answer_66_mag.jpg (100%) rename Question_61_70/{ => answers}/answer_67.png (100%) rename Question_61_70/{ => answers}/answer_67.py (100%) rename Question_61_70/{ => answers}/answer_68.png (100%) rename Question_61_70/{ => answers}/answer_68.py (100%) rename Question_61_70/{ => answers}/answer_69.jpg (100%) rename Question_61_70/{ => answers}/answer_69.py (100%) rename Question_61_70/{ => answers}/answer_70.png (100%) rename Question_61_70/{ => answers}/answer_70.py (100%) rename Question_71_80/{ => answers}/answer_70.png (100%) rename Question_71_80/{ => answers}/answer_71.jpg (100%) rename Question_71_80/{ => answers}/answer_71.py (100%) rename Question_71_80/{ => answers}/answer_72.jpg (100%) rename Question_71_80/{ => answers}/answer_72.py (100%) rename Question_71_80/{ => answers}/answer_72_mask.png (100%) rename Question_71_80/{ => answers}/answer_73.jpg (100%) rename Question_71_80/{ => answers}/answer_73.py (100%) rename Question_71_80/{ => answers}/answer_74.jpg (100%) rename Question_71_80/{ => answers}/answer_74.py (100%) rename Question_71_80/{ => answers}/answer_75.py (100%) rename Question_71_80/{ => answers}/answer_75_1.jpg (100%) rename Question_71_80/{ => answers}/answer_75_16.jpg (100%) rename Question_71_80/{ => answers}/answer_75_2.jpg (100%) rename Question_71_80/{ => answers}/answer_75_32.jpg (100%) rename Question_71_80/{ => answers}/answer_75_4.jpg (100%) rename Question_71_80/{ => answers}/answer_75_8.jpg (100%) rename Question_71_80/{ => answers}/answer_76.jpg (100%) rename Question_71_80/{ => answers}/answer_76.py (100%) rename Question_71_80/{ => answers}/answer_77.jpg (100%) rename Question_71_80/{ => answers}/answer_77.py (100%) rename Question_71_80/{ => answers}/answer_78.png (100%) rename Question_71_80/{ => answers}/answer_78.py (100%) rename Question_71_80/{ => answers}/answer_79.png (100%) rename Question_71_80/{ => answers}/answer_79.py (100%) rename Question_71_80/{ => answers}/answer_80.jpg (100%) rename Question_71_80/{ => answers}/answer_80.py (100%) rename Question_81_90/{ => answers}/answer_81.jpg (100%) rename Question_81_90/{ => answers}/answer_81.py (100%) rename Question_81_90/{ => answers}/answer_82.png (100%) rename Question_81_90/{ => answers}/answer_82.py (100%) rename Question_81_90/{ => answers}/answer_83.jpg (100%) rename Question_81_90/{ => answers}/answer_83.py (100%) rename Question_81_90/{ => answers}/answer_84.png (100%) rename Question_81_90/{ => answers}/answer_84.py (96%) rename Question_81_90/{ => answers}/answer_85.py (95%) rename Question_81_90/{ => answers}/answer_86.py (96%) rename Question_81_90/{ => answers}/answer_87.py (96%) rename Question_81_90/{ => answers}/answer_88.py (97%) rename Question_81_90/{ => answers}/answer_89.py (97%) rename Question_81_90/{ => answers}/answer_90.py (97%) rename Question_81_90/{ => dataset}/test_akahara_1.jpg (100%) rename Question_81_90/{ => dataset}/test_akahara_2.jpg (100%) rename Question_81_90/{ => dataset}/test_madara_1.jpg (100%) rename Question_81_90/{ => dataset}/test_madara_2.jpg (100%) rename Question_81_90/{ => dataset}/train_akahara_1.jpg (100%) rename Question_81_90/{ => dataset}/train_akahara_2.jpg (100%) rename Question_81_90/{ => dataset}/train_akahara_3.jpg (100%) rename Question_81_90/{ => dataset}/train_akahara_4.jpg (100%) rename Question_81_90/{ => dataset}/train_akahara_5.jpg (100%) rename Question_81_90/{ => dataset}/train_madara_1.jpg (100%) rename Question_81_90/{ => dataset}/train_madara_2.jpg (100%) rename Question_81_90/{ => dataset}/train_madara_3.jpg (100%) rename Question_81_90/{ => dataset}/train_madara_4.jpg (100%) rename Question_81_90/{ => dataset}/train_madara_5.jpg (100%) rename Question_91_100/{ => answers}/answer_100.jpg (100%) rename Question_91_100/{ => answers}/answer_100.py (100%) rename Question_91_100/{ => answers}/answer_100_gt.jpg (100%) rename Question_91_100/{ => answers}/answer_91.jpg (100%) rename Question_91_100/{ => answers}/answer_91.py (100%) rename Question_91_100/{ => answers}/answer_92.jpg (100%) rename Question_91_100/{ => answers}/answer_92.py (100%) rename Question_91_100/{ => answers}/answer_92_k10.jpg (100%) rename Question_91_100/{ => answers}/answer_92_m.jpg (100%) rename Question_91_100/{ => answers}/answer_93.py (100%) rename Question_91_100/{ => answers}/answer_94.jpg (100%) rename Question_91_100/{ => answers}/answer_94.py (100%) rename Question_91_100/{ => answers}/answer_95.py (100%) rename Question_91_100/{ => answers}/answer_96.py (100%) rename Question_91_100/{ => answers}/answer_97.py (100%) rename Question_91_100/{ => answers}/answer_98.jpg (100%) rename Question_91_100/{ => answers}/answer_98.py (100%) rename Question_91_100/{ => answers}/answer_99.jpg (100%) rename Question_91_100/{ => answers}/answer_99.py (100%) create mode 100644 answer_adaptive2.py create mode 100644 trace.py create mode 100644 yobi/crop.py create mode 100644 yobi/crop_hog.py create mode 100644 yobi/crop_hog_nn.py create mode 100644 yobi/hog.py create mode 100644 yobi/neural.py create mode 100644 yobi/neuralnet.py create mode 100644 yobi/neuralnet2.py create mode 100644 yobi/nn.py diff --git a/Dataset/test/akahara_0009.jpg b/Dataset/test/akahara_0009.jpg new file mode 100755 index 0000000000000000000000000000000000000000..b291186f92111885fe93af0fbd753a2eb578ea58 GIT binary patch literal 24781 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 K*)Qw<82{O14QuiM literal 0 HcmV?d00001 diff --git a/Dataset/test/madara_0009.jpg b/Dataset/test/madara_0009.jpg new file mode 100755 index 0000000000000000000000000000000000000000..add74ae005b767f340ae348922de26ea1667a3fe GIT binary patch literal 19181 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 literal 0 HcmV?d00001 diff --git a/Dataset/test/madara_0010.jpg b/Dataset/test/madara_0010.jpg new file mode 100755 index 0000000000000000000000000000000000000000..544f4b362d8001c0c3c33c02205b97f4602c10cb GIT binary patch literal 21391 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 literal 0 HcmV?d00001 diff --git a/Dataset/train/akahara_0004.jpg b/Dataset/train/akahara_0004.jpg new file mode 100755 index 0000000000000000000000000000000000000000..029490ae6b2a2cafd4a1040c1e438f7eddc1ed1f GIT binary patch literal 59463 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%0AmWCJ{QOAOY9V5Z#v&Jzi7A ztvN++as~LmY(3D-9p4ebP}N}a;on1#>Kibb`%F@5abQnrx%9UkHi^ zlItTt?aMihwC2MXnK~lVSPVU^Z+i-Yu1XnjO7rE&_w2Nw>)KWU)HmojWJl} z{AFA@%kAhFIm#yJ40}-&kj!b%4M*lW0+e;&kw50)Kt1O}@Q|KUQHo+C=~fKHf+nDh zXP*rNJY#HG9mgD<+kZ|5E_RY#PJWZn`txkr;OouoOv5itsnfc&2p@M0rWod%1w}UA}B#E?pmC zk!gz)Q&z!Qu-D3}zCRn_@f<50-hfpI)QL@<78*%>X`6DSQ~k19l@t@;^WZt9|JF@2 znpxX$RUkIj>tU`t7vti{T((+Jb3Z}WGsx;KqNQtNX)n)WOb9OREXVyvFB+^9?-z*^ zL(Wtkhjx}sei*J`4e>L-7Dm|f+7L3qf!jrYuDcq`&7C$f*9(D))67V zIz{@UKn7bLSDtiedtpfKSt)iuyps*cR#OXo8sbi-m+4uGDao&B=Fc^Nd~ijs&LbT! zp#=|Y?{6*Hy$ZGGa=7(U&me}qPW%!-ZaE(T47-iKmACS>X;V7)Zx_`>`?Qi~cZodA zzEg`-)V`hqF7qicEEP++E;{?qjlcE3;rOzz9h0ITfX$)V>26y!=IV|38m3&uO1T#E z2oT-(M_z+NEY}aRnOCOECaW;c`T_FdSk_GpG_k&?d3if$E8=}&{+e*9vPJ(l4`V9K zYbJ^w)gw-!$OcpaH6kMx597v^(?Ih5X0?xT-_nzJKh(Y8O49T|`%V491A>5GNrNL?8E zY+2F;-=Pt0Xs6DP9{Zg{2HE8j!JkTFugLXEJX)JB$Da+Lz3#9E2(rzHiQof zYdN4%)Ruv@c5JT0#dWpkaJSKg?YUl2$JV2|2}X#91GO8C+UJX-u>xl@&9(&$PWNcH zrN@a%(+Welz9O}-jKjiyj3|)^&1}V;D9j}MxGo-Jm*jyoR6AV7O@5joTk0Ks3K5d~ z)p+$zA!?<7u&;OON*^;ZW~On`G)X(k9UCI#DqUBIJTRhQ#a5RaY&{$&NKwAIadL#E zyA;4S1f+p4>cVESOmO{msu*OTJX`(G))D8CQdsabpJ(Y$-gtu>a45b){%@Pxm>t*HMss)0m z*oscC;(tE^K1zah{Q+MtG; zA75@2+#`nr=9PyU_S@Vi$hlc@4HYXt{&T#v0ge6+%jspq`f6nTtS^LjaalUI?PJ`R zN5F6LAK)euUODYOVS7ikl|js0lCkaj*E+q@^3G@WYCqea2RLsqjr5lLV%ODw7NBSy z_RiGuR3uYCP1Q_%II>s9Jxa-Bj?zrcHK+FbG}W6?_~FWR>7Bec{rpm5utXb_sGZ#^ z>x#IZ*I1rieS6_;g;f72TWFe+f4n&vr_Q7x5Pw%Rx4YH5M<+wZpbIygzyG8nO+ya8 zoGo2>YtrJN!&Kh61ZPpNX;%A^_4ViNuI|ggy7{P(Lg-M*2wLwOnC-%)TC6BPxt?BO zU2GoRjqs-TC37<-+}Xnj_wCe-pc2{J*SIS>NV9WSP9B3gE#h$#%q_6byt1JboAIjl zIrwg|)gd3IZ11aFO1@MrC z_1TR#LyP`>s1jPY)Zx{o$U0dit=Xf)RLeLPGkCg<@jSIhKB^6a9VZJoT?6mw_{*m6}-Tj=+t1 zi%i|3;YR?^BLIhuY&w;#B3RVhmhW-$5XgMT*m`<*GkV)0dCB>mgOi9beyKkbn(!ct z+jv!hu|3$=)sAzaHB}IPDR#Dy<;|0&Xf2u+uAp~gZI3&wj_y{3n4GHVB|k?~8{f@( zr+G_j4-|woo;&%A))*|malxKeXZ2i?aB(%}f?`XmOp5E@$Q5|sCwkpvR}>X3(K{=w zdz&Fhw8l-d3F!qJ}J5W~z z`u6oN%fIdCE{Gc4zOtSwn%ZPw6o7Qu7i|Pzh|j|9YGMi;-18UIt3srwCvh z?eu-RWBXdFcZ3i)fBAm#>U{t-%+G6-70A5^@`vB-A9PkNcA5X!(+^nks*ZECdeN!y z85fEy_4F!*dSq-;dd5pI$5lu1Nz1OQo-!>39d30frS<4zr+Z?B3 z(@@ocPM1=+CO0WxNyQZhr0QF1Ux?_=K}}l5UzoKitbV4_)t`!3yyPQ%oz60uCaV04 z`8N7FbT@xzl>*LM9>_T2S2Sv#Gb(Mad1o#jH3DgDoE4Xr1gj-1qTq53r_TaDfhK;wgke!T}zzb{le1W+IikR{O)#f}BZazIeo)p?C0k5}4Ui47= zHuNy5Y$hH3tjJVtX}aZF;E*!KyRKfSQ=gt)$bAzynz3`oD2XFr64qQ+u&7si>y)Cm zvm=d&0AG9Xq)w+yyV>f^_9`bEl3R=SC*K~(e+e1{-%XkD9oeZZSWepsHMCsOxIK(z ze5B@>VyvBGI)_B|jHc;|M8AJ~khKHIL4CthVX)EAd3`ZPZUTx>oZN_78e~G@iCt`7 z^QQfMGdKVKK-g?q#8aP!N2C!-iAjT2H?i>unBUQb2mP?)`NF?zrRRV}D*<_LX(;HU zp@H0uf;5_Vu{pLYM@-VKhiQyFsF-);6P;!sg=_ zYN3w+Tu-h@a_yaNu>;R!<#?T2j-?nEZz6m_)QNV{f>L+@L+&&f+pZ^JFE zGq(^;U??&+FK|0GzhFx8aq4CONWI^Dn8Q0^J?qHHM3)EgNoG`v!ZN(!bz~Wjx{iPr zMF`;Hz!5uVYit$moH(3V-kFoGQd9x8LTLg>DXI5oT3;7v=H4{L(P!s-HjUp=!IVJq zm%z4Zc24S9<$E6vC%UHlL-OF*(8I;t#5>6OvimL@O_#CAWO*CoKDk;f`-&qc+(%^_ zf8{lzn3>K2nDysn(da{U|3s@ugKoktqAFbZ+rk~*)S)9U;jcKAIfx#o*Zvlxq< z9yw$eec7V$!$4tBs2r>>;+at{Z~-%yYiq`VQ^5hJ*X9?Ew4AH%k*3Z|r-8ldGq3nH zBX2$Ul;=7&1HtMdWSh;$P;QdlGPw5yitzMCQNgr<)Rf1)8yQ2$_|WC+6fC;LPz8i5 z2H{E;3bG&G;XBCsZu)tS4p#>&M)`{5RoCx)OMT;ajH6-g22*z`w_rBlntH9 z<3|9v;3J^j_QQ84w0#O!r)55EQkDpfwB40#xzkJQsDK*fY-Y0YV_C0ghMZSp0>eft zuP%Ej8sQPNNqjL`bC$%Zze<3%e2eXt@wm%(QZSmBJCVW;N)j(>>TqbUB94X(gEHk{ z7bSl1D~au5PWj?45n38{=JZBR(409PL`I+9xy3`9QyKOjDaExX{NmYzfE5a-#LyczUq0 zk(zX+6n?pGlp{-KCBh9*b}RaHm# zaUb01nN%MQdy6+d*OJks-YsqKk$9#TKJ$A1EUYPF9rsAa z#VXF!<_Z&Q?LAFx`gJDovv~ZaecFAcKb5KNMo-fO6E1Oy9jBQV8ASxkIptjSCpS-X z&ZO9cQ-nv-(IDG@`>uYY0=DJg_ zfJ-m-2NO@8A0BlXhGddjc;RCOpp~{0Rf>ykjLloWfoUIQx!CIRe%DR+6I8YsEGr6~ z!|u4znbW4rpC0_4sSA8H=`UXlx9%cY!SRSv0q!4*MW!Q#@>)B5@*_z8O|)x*3SlU` z)0?Z4#2NrOioa54p0wmR>ko~@OK+lK9cxvk5}EU4>xRe;%?KVNt6XIk{_+c=~A*Df~ivWJs_J28NX;T=Mz7Nzl!W%Cpr&U(1=Jt*yEQ+JaI; zZl92i_%CNG*V~Zmp``D79=o!NZYx+@M;Et7Y@Hkk2_e?_A`+uKxr0rT1U=Nb6-%9i z!JD#6`Fq>XN*Iw(QDxY{Vgs6<8d>y~+$+ z#xfooK#w`WwAJV3{A^&(_aW5p#gr+rQh_UNbpqR2DQ3UPdK+0a@ytl{G> zb4ZvN-`kWQtrx?PlJ-OHIKA$p$Mm{5$!YIScRMb0ngx9FL^|9Dw< z(?Tr+jSrnOCV?SspY?pp;$m^)#Vzphj`2r8DS1Es?Q<4=Fx=y50VkD}`J{R#YH-g_ ztjh{i6bT{n`@Rp9?Uvne?=p{CKD~oF(ACk1ayscPcJT!NazA$Znd-uq3iDgzHpsM++}=AVUfT7)(dyL+>o6s zFRTwp>Y*Q^_Qn6sz0pqJE_+8+X#kI3x5})P7k6XYs_8dUBV)+8!P?IiK+`gg7~5d5 zXXp#ElSEmurzWkP;~!#7A3%0OGfaw@ZLB0(*lWj=G`EEqP-Z&&Gj>k5Q2Hc(C{Xp= zA`P(jmoQk{1D4F+jkruX%f*L@TNcq^?p=x271kn(?ej{r57F=tBD*L^XotGSOS5Ic z`=9|7y+OEle6B@%mCnV#_71GQ7Q3!n(0{G8d#vq@>t;tLwM2`sppx6%S}Le@ zgow)@1}Jqi1E*%|iA@N_C0xHP*3{bY3@{GIZjHUH0`;4AtR?)U+#uSO{%$lWW-Z)g zWM3XFNmf_+4BmC=aeCFOhCVNE`om6_)fCD>R$$mio~IKK8oRp~XgZ@d3DG#02G`9^ z>V>G-Gs;eLlP0P)Og1K^*b7X`^M6lc_(I*WK1OX%%`)s0mdgG1_q4Y+(fAyVD*Kl^WD0=0{9r3Uj$7)n3+=-~CR zWzZ0}Q7e}1dR_I-vt&?M2hYfBv(WBLdsQZjo3Cxvwq-+VK03XKo!%%9P_fvqq>9h} zX=bj8YvIG(^mX2jTb!gCVQ#y}2lo?%i8;8UkKe%}4E_%7u3gE+__!!EWBrKJOtW6B zF?F!YrlVt%{MKacxcGtf5fI`EqR@10JLo)eUw2ge5-KK7GvYApKHc~9T>IyNp5}Jp z#=R%^;EyxiXp@;ynI6GXGxGK41P+gYyh@e426;r$pr5DcYOMd zw05&0aDg8t3N|J4CbHzT%5`rVZ{zzVaF;^?!!zjjq!JbTq|&&;F)*l15vMlzOXR|I z&v1DzjMMZ!^G>Pkw8ymU70cB7)F}Rt=YeLT{)2L;b?^85NZUrr#q@sQZFwF0)4`Iv zc*fRCAX;9%96uvF)z-s+B_>Sw;0jqNFea3iFKKjkG&D~|cecy~JbFu8K7(E{hv zy#ox)>TL*~$EPcr0zcdk`blx4Q@ND~(r(|>dehcAC+&E3`gv|eC3kO zmlmpTV?G!h^x8+Y3F7$=nM%Eon**9Xt=?MZD{t6?Hf)CUofIwJSmqWlUq1-!z@(gi z*m{#R2bAg?EE(Kq*mSvA7`g>$C1z~ra_BY59+hlqfl~_byEDu|_G^X<%lBnK)pA#& z<|H0=3m(g4n(mMJbT@N;rJ!~hc=YL**0`Z~y`ZnOVjeSk+R)ntsTk^V8bs$gs?t(i zgZUP3(LE*gu*8k446BCx0T0@SBn49Z!Jq39uD^fOj~kDD&lS0hzqb0mVRLbB1NwYk zQW371`hNkbKvuu!b7wH}+!H>?85t zh<+PuHU{HNeJ)K>D@5Q=ZpBjWEu(@kQbFH4tG@6@lj<06q9U>odhVexI-SBJwRgnPLPuLVj%YtT&U7W^yle zwdQ&6f~R{s{Y5VJkL;raj}!c_EKcPakbf4_f_*Y6*S8v#@5KWyo?cscP_%o=${h27 z^%<&k;Hq=8x(?MeJsZGYCh;DZ;u{Tm7_Dy`OT30vw7qg-n5%*m`UA+%I3yl%iu;b^ z#%E0UH+!t=`ZT(2{{V=tTKDWTIA*kns0yTxGB)#$=DBfoD5@ZqxL~=jGuJ#Y zJjpCC;13Z5boHy8lqT#d)K(&m(dPaz@T}e*)?r!qd451;ayiFp^`F^8##ae9j=mE4 zD(A%7QtNs^0P}xkjo_bFhhQJ|&8x1AZrc8|)cJZpx~`+~_rN-Tv^~ z)E;X80K)$Oh%KRby3X+0{jMc)vs<);2j{6%+O9`S4*Gx%%a{SMH&H<=rjL^TIzfFef$kuK%tnsn?~RUk4xFD_`Ik|$n%Rrop^Z;X%U&KM zSu@VYFW)jKC5+f@X#m=C1$r;SEo%P&P4VPn-BL(y7i_BCG3{KE+Q$@=vH#cm9^d1a z!yg!H?`fiI1+`fKM1-LWD---IMhU>r6$goYN2zFE4)wnf1O1~9lx=6Vk+5QS`FDfu z!LOUeQ{|JF%;KoIX*!7b-{OaeUs8_7+SJG|p|{(4E1Zek9v|BysPz@t{?9%Ui^ty# z{86RNa~;014Xa#Ow31;TV96Nz@K0=mU3eTisfBS{v~po#?I6|4t9u-lkoXJYRfWcn zYL`rHucwQMODD_&bY$F7i0#x@8Kj$yE5;gEhji(9)cxO{?@hWNP-h{*$gii)xollU|!}IKU;CAwHQn73EjA_Mc&q9yF0JZT>3{jr_QA zwUdIRaxw4yDy%|iZ6VZcLowP!%Z{Fgx$0LZF;lb=(9)_yAZv*7o{xwQWP4r;A^rChg~me(LSRX@Y+ zj+M}O1NNWS&rxkLA+2UkU08n!>o0g$>Wrl`76jdY+CkuWP4Nzay;iR=FL@!*2tE0`l4Gn%VFU zxjmkyhT8S*?oa~^h)7^ZaC=u*v|7pROeDFijz{A5ub+o{yq;S5;nlY{Jr6wl*Ms~= z@db~H^otoSZ6UVvAWu1C>%0sT?VMK?W~8ooew|wmEhkG>V7x=+wiMjH4UP zHy*;mN;K*n_rza{Ha`@6VHbfkQEzW*sdQ~_u0SbqDz5lSoaHiuX&ijs)#bA58gGdF zKNbF!;r7z?OIurZy0?jNw=ax5gB>%0kb8q(-YrJ7Zgf|YsPx>5PY}%}vbRuKHJW)r zWD5D*dJ;V|=}|S*A7+{rg?7(^u731P4st%ckH)wtQBad6j*YVZldXSac*-4GdsyX& z2Hg~+<&jxR5&08Foh7BfA{SLrB7l$AZ>aUh6eTmHodo4Ot&HpKN;y1G@Lac<8vt{h);_JL z-oBFY=@O}E&Rd?K*6Nd0tu2ir`D&i~`x@zRSoquG7l`J|rkkO8RjJv%QR z)!zQf-Y_&q463MEyMm-E?P1@UJ3NWLIkTu6^^aba?NmQ#j8G70vK02RSe-OYgCi`90#k$N|Grs}3$JU+jzI#g#jv93O?VZ9u znx@srBW%He1p8nb_L}8`iasigr7G%j?tNz_uMPgMfh0vpCvoE^+OYm6X|pfE%TE(p z%?Y-i@=G-dAS|+~?jWyhgPQWN*lBx2x*va6A4}@3J7QE46^weidsnoM$H+U_~xVmKx@4gns7t_bus?Q*!S56`QoI=4M`U21)MK#N1v z?P86d^5%HaI!0%Z%E%A*Loox;RtBYEdEr(T@>!HgR1{;+2fb-ZnuKhQxz*;>EyUAU zq@?fOGQ8%y4-eZ5Z6MxUGY3F+4)o&hqb`EenH)#OpA*>W9|g5IFRj*Vi{?`qZVG{) z=U*~e-=wpWT*jpC+D}TtyGi?}1}UjjZ5>6fk2Llc_ctO)t*(g?NXkOCI^g&GE7yDr z;A=a52m40W^g9itg(Dd0&2sZJ^f{i#|Izvv;)b82Ys+P=-_3ERYjcS1F7(;HW=PzC zR3AVN;m;#A&1!mrcz#_!OVy(-Wo>wu4AJ1F&AIpP4>s$ZKx{E0S_D!E>7@w z1J48!F^ba*hx)qaT}>K0};ql~t?hlFmSno}W- zN0g?f#Vg$jHxeXqRFdKxY+D1?CkFRGij{e+@e`M@v@dx zp7>tcTP$y$fM=TTacfp^ z!Vpm)O;%ALj!7Rlz##Uj(AwQg6tF$yo=lRNOl8Sk*v9O1&Hx#$=*Bl_&a~TCE=6c# zx7#2Efa5*tys$_k*&Jb81cT~pWR;Fr5~OW&2Barw&R3C|ey^)tYIb5PxXWa1=bTkJ zt637@?P3iBOKTgUBhE3qAx~jj+J>aDX-{!;I>Q`X<2c<|?Cw-&?BQePe~lh6e-e15 zfObd};3|6x;5559uWdFqQbp)Pb@r|q%JMwvy<0nh;$INU;f*uH_xD0;9Vs^3BY(>= zUqk-RpAmH*3V1VG(T0_#-&pvD5pQsA;>$p}TZ4 zDRZJE;yo`--)hpQ%jU|ra*#VV-?h2598joe{qjqO1e2bZxxznMyLa*~bB!kkYeN4O%TWQj)%`s$f zoU&m0RghR#^ZyIGml(XTc+vui{R6Jd~;=RGScoD zfOqwYHjOxo77c=KIM7tEB5ZrY(o z=%TVCnt!$l6E59Od)G>7tMxs(NwsDya5}rRr>W#(tVgD#p{7+-Kyr5)>W$^2Ij1EV zSg$-fOfwlLxs3DkZS6>!o`BZ~31Wi)kzFw5gtahoZ$XlHhe!KlkjHM$gN0&wr#`iz zLa~$c7W>PdN2NY}T8K+lq)Q#{fiz}GB{3?DlGOuUcy46KI4RT~^sk{el4c$M0E#ro zXER#B97Z`FxUV?zKE1B%I((3z}t9pBi$|-;mjnOP`m^pyrUM%>ao+M!Yczb&oXED9JP5|>DZlTsq*<5lB zaL}xpN?i_WbyBBpr=DuQ42#4c0Iob`s$5?Sn+bfoYs-mz)zsrBX&L?(L!LX1Fd#Zuiq3(R<8_RKu#99eP}$CVQOu+7KT?!!7Rs9Jx+Ukw9}{2b zwrOeM-CdalsgDcfwh0*QcLIH@FUC<`$*Xz(A)ew}+2KRJX57Xwpdlx?+6F7ksX116 zj>zSoG?B*n@O`%431DW1SJ}7rm1~zf z)tr3J%p!}Nk?QNGEdKxkd~M*^ZD+sm^@NG4cw**je*tog z@gsPLT9L7L_S<1><;VK5k;wj3t6{0(+lx7IbkduPC}`dhd3;JWTZos*fPApJ_w}xl zS-#73vqHfa7~761QPm^dz|e4_pHib=++AIHNQHy@bgheBFHyJf=k}Z0W-!|~W4&$4 zn$YV_$|GlyEHwEq?^#1C$;|?bF$T0Vn25k+eyAthP3q~()>BAYWkYn z0&?dcHv=`kJPCU(nyT!}aM(RDTe?ljT*XhTEZTSj&C(>6+D**|%P<_{-|1Ct{vOY9 zX(ixRkRu$0>w(mdS|LwHR3w^di+A8j+Tsf+PV;a^#T{EcslF!g7OUaiDmm_LipMML zR?qQcIQFVkTxs2ewA|(Hye+l}Ib4xUNaTrE`wl&qL;a zh_EJ~lgM{{&`6*7~$<^h!kW#fbH6Sc&;hemp$*JM+BuQZq7eW zxu3;rb>N+MNBc&nr)pANORK_FB#tbFd2l%^f-{e;dDq5|25X)T{h+n)4Mh-&+TJK{ zZ5w{z_VNG=0(ozpU#~R~bmvL2MmMF-&WGTyh&(ZG{i*Qh;_jGlbcwEFmfAScibFOD z^Em0dA%XQ2&k)&|HLI@+j}c9MrP8)@W@GhB5h>T*I4*U*OCtdrc! zztQ0Ew~KWfcx~g>bjG!KcLo5<6skf>y@M$r`(n8pTQtA0)Du>Y=JN7ADJ<+~L7yT> zxkAg+%OJ2mnHAGcDiii-+71zwj$2iO&y&tb1bA>ARB)tvR%Wji{4+^*g%0!kz@w)@&Xp@dt-|%?9W(1MRlzqF9)p@A*KkdJ-6Sc|EMq zTV2j&w3Yts(RAa~XT4S?l&aN9_B!fO_L!8~H)GS|m@`8ZXiyXLoCg@`^{NtE=>GuO zbH{%WS-h}fBcVCuepIS^xs#?!+Q3MLAC*AqT?UD!TfwQKGzdcQL0l%@wY-o+eHl#T zfJ1uzHKAvy>bBy_)fq(ke9X}jIDN;E-lDl^OGj|BPUk_R-rU-FowW;?V>8PO7!Kc- zH_u#qRc{|hb*fk{t3AT5T|}@JFI%7 z)`u7Gqj+W~1QI~$^{*;gGnMLkkB4-vx}s{^Uq5&f~PCrVurEsn#)P} z&2!=p4(m5oY;EN7o-8*ExFF~6DIG<4pY0j1T=;`i(c-$YNN;qzAF|7L6Xj-3qaDES zgV5%goQtT$S835il{N4y;slCpe6*T3ktMM}LLD&BPYHtzUTX+Xo zk52H$kk&UXWU5d|cC>SBUf5tc>4U{_ehb#V9@^U8UTR4)>hVmaf*renQZPaFJ*%>v z7)p0%Z7NBwW^~egKJc!+;M<=Y=$af>`VOaJwuUpwvb&G(NHfqe@AdVs5b>{ob*&dm z`(6E;t-DFI$bju2yEy7LrGNUCH(>hNPLt&x#GgzO(5ZviD@;k$S zr(DX%8)e$00#D4WO6RT(RnYYy9jjehZSH!w zD7iN_YF%oLVzELB$QT?ean36R5^MMx2swN7+UG4-YHc2SrNXweyzIS6 z&1=Pe(Q0N{lr&K;<|K6$>`_-&N6o7#S+UQo+oiNu77)8f_t~-AHE;V;<59BQiM57E zRIMb@vuQPQoYPr0h;Hts*mLr!A227{mg`y5q|@z)xIb!8Rzi3L54wJ}#-(esX8H?d z;<)T&7gx7M(%rXOV1fhZ=2rGK&UmNC7Wa^|+HYn@$O<|G+Kzv6#MG1Jx;&4@UOUvS zVrKISFI54#73Dg=#LY%~DL&0B29)E>W6%$3;jK~L$1LXFhY**)Yt^@1Fq3m-iR)dS zfu=y#=IYtQDO}^;x%Fl*W3uq17s;%{HI2(#N|LLG4T7ws5Pt$QUrTEq9M`Ngi(e6V z&q=eqzSiu%(3b$Ktm^!U2HpV&o;n(dOO;&Cb7^RQ|JLWcW8=Rbd_dN%^$!wj_Y-+Z z9BB%+*wia$IPQIO*A?%!UO2e%rN)hMXQ)QH+q`z(K^tR{cKz)3JR0z`JQX~3FJ~p8 z=f;<}r^UP{vm;2w3aZJV2zH92rHcMLF?&Um&Bh7_+Q6*Mzeq53xRVs zpJ5&C=vg-`NZA?se5a>M;lpIAjXqW6X*>*EG(Jw%^vy#{@rY9+DT+`eP;yZE;=Kn& z@t=)iwv$fqt<=%jD+zAaHOO*Qrb+AwJpBcI0;}w)sXZ)ZcL@FmpnNF!xuj_RCGj-g zH@dtptJsJ{%eb+T0UH<&s>6)-z^Q&EUHl>OXT$wVTJW~7HIA|pCGsvI+Gh#(www&N ze!Sx~*Gmyi(@E}jI??1&Ta5TK<82}3)BLcRD;sQA!d*lIo;@U*8xSs96Gp>|}A-Fx!*$smmSS6xc{^lZ+VS8}CqnZoE^ z7rEBH9$o1gCWzNMtXDC~_Jm+rV!_?PJvtI<{{Vr0BWs=nk6G8^(T1gGC5!1-JB}79 zB>wFgzNJFi$aJAvwv&jgL`TQ&M(j6`}64hlNYX@biv+>pxAs`&9FryM^5u zE3h64k4pAbqZMQ2YD1OiR*%H?x>ba>GF+>&hVsWurgL2N&%_3b>BXCq9~|cd8s@22 zmDp-GmD!DP<7=7k({!xGM;z0WRn&DERUvYD`eM0x+h(p#)<Z)2e8(_-BfrP?q?PDgR|uC7}mswc{LU&K3;Ca)wnakOfxKs$LEuOPX$ z15hz%a14HIbgwq1=Nz{*G<_nkRrh<*_1e-gZP1vK3$l%3Yc|JUdIN#X5F!haAhd?~K!w-IWV_a@Xri;(kiwN<(u z!IY0sMSGvXe}|qR*X*Rz{72wTLqWUKw42+TOS#l2x|FunUzFu#h_6GBy~cXf;b}%I z-$qy}Jh6A^WOzTqdh-6wmQncs07$jF(J!?Y)b#7T2CjE&s34s(KgS55G@ z!X62S;-0ZF@h$d|r|WP%n@0ruK1l&yr|LMb8ooD^F;KU+usN1J{bPR`%7%rEiKu6twLC(-4vJ|#s@rb2c>&e zWU0|gPgB#MG(FzsU0>nXjXV$VBS-kZ9&)=Ry5@pEsbf<*-9`wzYX7NJ|XZ;n%qh* z4U9qvWDUCrIxc+$bau9KTwqQDh5OsM&3Dvsa!DUcM@mS}@wT08zAn6zK+x}EvbRK% zc!HM}s=#53c2fDl_pVj#`^u*yBj|CTYV=Jz!}?YCg0%fh zO!8yi@ z5quDl>}I&JMn@~cyl&;OI<uNfeL z(~;Evwe&xNe`rqPAj;??q@-l+*sSHFVmtu}56+)#`YS^le*FhDq*i;k^>N{{XEF z3}+s@N?`s5ypvnfuJk_=wWpjem7Jtf#yEVA-<~U((~_wvJ;;m{Ybzd?;ctqXpZq7f zt(T89HoHw@!!hU=g-4esml0-$M#<%YatRnX$E9(apNpFJ;$^gg0T_nrD|Kl)V7Nsm zJ%)cummh01r1mDazf~l6KOA&V6nr`ObK#GNy2p7E#+>!4ZX}OsFak-XMB+HNUU?J=C=i+0#KrmAjv3 z30}~)>gUYg9sC)mT>Kz|#ED}XO#|$A1BVshS|eJ=a$uMpig+Mn1Jbss(b)KmeLrVe zqf|74F^=@Qwcf#9xPxtm$J;YojA##u@WC3ZaSEM^DDN zrx`Sv=E@xHGyl=CYVyYo*t?4EdCbb-6S0-L9DbjTeF5;p;8%-o zG#ETt;-84^9geE;-5Yx+F&Uah54J)NBX&jy2Q||UR-B&ULYKLDZhZw0hixPHrGGKi zrIjx<_@lY8cgS6t+R8g*XFj+U=KlZ^JVWrJFAc-5YI9p^%cW}8zFISek`;H@%0W3G z5J?>LqB5FV7Z+(KV&9K-Ek8*3t>DiUXtuTy=+-V^c-AtLD_wyS6$AJ|Do8(C`Rn5c zhV{>ezqDSTuif9Q@?PFca)txQgq@@goe$TobK_$;K~23=GOs4BC(!5qC3u^|n%9Y& zSJCcdnlG~XI(W|CvXds}{1|l~jd8kP_FdPDt)TH9qj6^dekXte$a@}r@m_6wN^Tia@m{&`bKzE-t@!HaSJX6U zbv-Zp9`4<)FJt}3+F4Mb`sY140+t$$Nz_$4j)%QIXXbck#S4$^UyGWovrQwq&S7b! zZOp|0PFub<<34~@UkJprYS2c^avPQ(#qC#!n^js}S*0FlUhMYWHH0ye$O!-p)n`*R z^G%*Jo@>~TyBnWh7+%SphLhn<561dlm!qr2YpG3dEOSdIDH#EnGW(tZuNa?6n?=^* zNwo$^;rs0yWm$)DTVfaPwAI+&gR^mFuASl#JWY9VdA!_T!6NU0LhO~e2OflHHR#?6 z@$ZN%ygzxQ*l8(tLiwI!jm@zJ83^<_ttmI|wb)KNwDvxB@gycaPT~n7*aXZOK*rv4 zkHWm$$1|n2pBL{LsJuE-7pqIK;-`d~o*I*^I zMogamqw8Bg4?J?(M~KoX*hwDmz7J1&o9q-P%OxZ0?}OJ%uY6L_mrR`*ZZBbHkV;bk zHsV2Ec-zy{HR>Ovv?_D^0EzxJ$Qm&-bmt(}f zBEc@D@Fwosc+{#zg&4;ozFO0Ulr^o*5pck-mJcDRVj}dp^7)PZt=Z_7w(o7Di^R8K z2?Hos1b!9lz6JPj_kRI&UyXhi@hpc31soE+QkKWf>}ZI6QDhbEik1 z4X%d-AeNrhct#pawv{{rcT1ge<#GO^YcBKy(B#!mZD(a`ZJ(#J=FXGt8xbT0#YaM3q z`)|e)$zgMEb#bLijOpad9K{hFbtRV=&s-B;AF1jRU$m`d8!Rv%noND(a0&Fyd3Es7 zl~~(kV_qwnSkH#*QI^k9UpnGlDprT>V+5qEjkz};W*HsxUu}Fd()B36;GO;!n?RK< zo5a^K$$LH2re(Hg`B>m_jsV&S`q!sMafZi69tlC*`S;?V!@DgW+r@V2J6h_V9Y|+} z*5)G$-@&{I-80E5r*h+i>s$}Q7F|=~x;LGOEbZNjfx|H%44UVsOPaHnL|q8pwURy7 zSYn3FO0Xr5BhXY$XXjan&~nDR9Nm%i@OuV{VR1K#tu(kUWq@5wAv3N>gpt(OGx0CL zdbfpOu)Nh&#d&!&%W)FPxDccSap)Lxitb+mY>2;oMfEx8>_k>O7G-I8#KRyO@B9Jd z7VtNUuNP9YcfYrXY!g7inK&PE=+kPD!pE zQ_%C2S&?}a#G$S2i*(Q9T-KYY-f4a^1@ZD6wm9$WQ*w7ZZAV_VZDL!U4p)xecu0{S z1%^k=E18PG!Ky`fWyCIXBKOT-GH*~v-(Rq=hp#O>Nu&6#SMsfo+GT~y9gnp>Wg{Hr zN#okJelF^Q>*B2986kLMo&2_kBWms^X%*W_t?6Dp&#R3eWllfgIqhOr)&3UVLnEf; ziMHHcd z4!;n-w{0!6Nq8gj=0`>hxbKYd^f)!#qNbFQZa2HJ^H;;|V_*1P`$C-~QPK_6(WBX4 zX;+ba(uT%Rsq2w~J#${U@rT7aRNg3u#2yKIy)pG&JuQ4h_UB^B8e_^wIOKuABb;$l zDvy!A!Ba|l7<#^eH-J0`H2S>ijjBx>Phv2_dsa^}IaKy#a8!ZoTvx*{1K)V_;=EcV zj;9TPxqRkj$=RNPd-_+IQa0S-oOxb_4~kkwk!$-v-)P%QbnRK1_fD``{{VQ9y9Y@lIml?(;fEkr(QY)H z-$c&3Ugb9=e82Ip;!lb`DEvyA{(HfDac^h#dw(h~FU(lf;1CZidCBiy(FegV4E#FK zG+!ThQ^aQTOYw%C1n}6(gMF@J3|KJap=|I+2fsM3+$H4%p6^q)15W8qT}$!ACD0w@D$s(0qG^zo}x$O7#F_(>yCKiF4!FthHE7&@f`+J{aI0 zmFFp`Gta7>JEi z$}!Icf&4nxl6b9Pm*O?dambPrGj5Sa1caP}j@)9NSyTO$DQ?^R&%DLO`$rVCNq$6H zu9tDA_#*qwBrA{Iratc-bKbs9YZz~SC{Je4jG50)GtGBYY3O{8Ve#Dhv*E|XOL+V# zqIk2$e{It|DSvjBl4^EM88Ju+Pzv%#BL^eBdNtmat$Z^0mviDj1zT(I>6%z84xxQ+ ztg2)H?3y;lFc@w)b?+UI+gzbg}gDW_>W4nYkPkZYSz-A zF=A~uQGvspj)7f49{KmIZwmPT09W|q`$SzysOu4Ua`9Ff^r%ts71W9XO0G}$m2wAS zGhKLB7`rp010<%?JqP2LhbHkyjdWX0cEZm^@jZ}Ri#=i|%G?d40OVt%anD2F29MeL z$4~JO!LJiq>(Ik-u2^aILH0KLHcV;Q4t&CrYKM(G_G2@Ll#2zy7 zL6cI}^=oJhQ=Rsf_WUO3*Z4pnZW+c{n)6Q{c)H>(NWX`pOFJDeRJxYJ<_7)bWt$A4 zhYXvPk@#1Sjl?xanJY7btdga5x#hku@t&iv&0}$@OtM^9LhXg(-?4_JZit`%dIqL72~I_^fu;{+r)@(*6+7HS`GtXM|4+#8Wwbi~B*?c%V zv8F?LWvg3%XU8FtOqQ;WBv}IX7$kqR2_37*b!|TK*Tk}1`6372P88rT(!B0y$K6MV zT5Y9rXGVVmU0lfRxR5jJTm+sUie{0@$UMeBGbdlCtxY#}?nGHgcvDriyAyqaM_l}^ z>OPg}zYV-CsbBcI*`%^?u@J_cS*XFbcHt_;uh%lUTg?gAKwz5W6~n= zhl6bX9opz|cna1?CY{?_w@J#uenASdh0n_7Favb@p0&3ABG)`mWHqbb?c1LV-N-C% zUU|1B*fJtQ{DSGYa(O)RYbrRN`yM4qob9B4|JC}3O1tpi#9!IY+J6yhW=pjOJE^u{ zfzTNj)O8JB5vqJYlfyq7?zDXiR)#q={W&jfr1J>2 z+u6yEDNqHNCQb(9&2#<>Z7WLDj+L+KEjEm{@=EciI~!@+k81HT(TzmAGtQmWPFK|C zJ|y@jS@18$8FYP7qW~;7R8V{r@WNUEhuP5U0g_Hw&{TyWVf1q&WU3*bIBL_P?sYvTOqJ{A1N6g z)##VnKg3UgKOD4;UsQ?+u0j{InilgTl^HRRPu>JIZz#7V(wt;AR3Q3-D_ku@t>k&1xe1H117fsuh;N2FQXMe*Y7+9R!iGOddj-1|xS1A6?u zPqlO<2q?+!j`|Z$swn03y2`&N3~ zLvgRG$mB-N!jIq{m6aCK*K|aaZ<(Hpt9Vk^SolWwT70L?w+Vy%GA}=^eEZ@Xf3a(2 zWL>AdcGJ>lpO4alR@s<#9y+o3d#>sO#Fo+O*80V*vsgqVEA~cNTh0tR9mrP%4x`?* z?DQ{%{xoZQSS6AjcTv!%vdP?$oA5oPh&9`&x_d(S3$lTwRv!2TEY*~@c0|Iy>2EA+IkHJ}W zKZ=$&+F(cPGJ9H8BgYN(|suH;gWH8lGk1^YnwUsS%(w2u_p{jzN@ zM!LSy+B=AVHcl>Bga;Yh!r&gAt1IDOi|#x*;7=6zWwXCovQ@W>1-8zoD(XE!8RM-L z+l#W?s(MOMMehh`e-FMY=z5Qb^@}yO@iSb;`hDnatPw#HFTP36JLB5C%f!A9*L)j$ zEO!!%t4ICPT}FOG$K5Bf#c@uX_Gr9BU6qcv;upl7E64u;2z)o;{bt0$uW51G*$qZD z`6q-Dzr5#-p@uP&Q+yTi48IA#X$!Hbh~71dXeRl$MKb~Nf_sCG54~*V$t6{85TC!y z&V$FWd^_<^?KNrQ>pu+Kj}6;t%O<@QzwXvK7-51D)z^0520B**@mBXvy4G#%G`|_@ zUL?|VsFf_IzQ*`hC*RRn~JhR0bg_ibQuJ$`|n&$)CwYc1e%?GGF zV!J2JrH?nAt<4Kr%uuX+fCV^SB$ru6E6?X#@lRHCDwnh9dM}22TH0TQ=CBAQwVnnA zByNsIH;-|}c~^^5?bpEX%ON0<{8hCnIX11ao@L7_2`$ep@xO)cwVRuG~< zoZ~-HSsJyjr>E&w^Ti8!kYI0&bRcke=}M(G)~Cq2a=6Q{8F-gj@SIvb(Zo?PVEFlu z)c*iVv*EojWG3R`5C(ZBx#3MkXmnxeE@RPjlVuK+eAr_l!B7b26>GvCKGF1Fh|S^M zMiUfY^3GKp2Pc4iz3Y!Lp&IlYS3}#Sh>aSlokxnTW1Gc`8_uYbV-j`X*F6l2r)$M+ zq}*d{5?k*K(UiMk;*Q*NZfsu`>rrYFOLYV(Z{^2{0vreRtnUWuT5Yz!Y`TlEws#2Z zpcYkQf<}1A&3bj`dq<)2nA`hnGugHMAHkj;z57m$;~Q;y#&K?A5bcg#lE%ef9F7?Z zvhjnCmBU-ew)&IZ3x#sT;a{8%mBAWHl(&H z*0PM_f0ZFc_vOVF<^wVAG6f6{H0PnRw+mXI$e z-imb;C{yIR@N_HAL`JTN>1nu6Ow)-K%y zaY>AEl_NFJJUiyGFAZ0k=^n4(&kgvV>*3Y+gRFFmgs|2ijjvvCT#Kl(a~pcH5D4@Y z+Gt<1evcQ2EUz^y;tZ2R=L8#qM%m8)|!oNQ^)=!NPh!9Z$Vn@t1|XG2owu`nA578Z7Qmz{K@a!TfvH73sydbb44!b$M4* zlCnN_n&}Pfiz|%p`^Ko<-1(LbYB>j~6_g;)MzoS`9$(`f1%eyck=SSD<2B1$-oRy! zEu|TL`6sEasNPZ6q36|nvP|rw)9vK9ifbwS?8FR!t~R%|LUc)nxf~@zNJc4@$YFczag8(_|1@f1<{_Q?`nLdA%5@& zsIIujM;F}j^GQ>kC{8=IskNo)(wzZs9za$zYL)AGv5`|_*+QR?)+>;y&BJ& z7F&~5eXizz!yg*YHiLgYziT9(6}QwNv3scBY`Qzm!auqeDnA~0=>GtWe*-V|zXf=Q z#vT#95?^WdaZRaM+mDv?DFvN7a~Rw}>Oih9W|VoKLYys5==rxpgHMYIgmS2trrpIhI~;Zuo%3vhaOiW2e-9#`xeoJtj2gA>dmf=rQ~uHo;F;s zB{<=$R_jxp8at%4hETAC;GFP&_t&LnsmD@f@ZS1~rfOD~TGisciVI7~rDz}|fefT@ z%l>=RdJX;5J}8D%88IPXWKF?vJBpVFC2)-FnHILTSH4=oXXU(U`{SJNZ1wi8Y2kQo z%V6Lhl`1clqlT<4G|gR3$lRn)cW<<`VTTywv8@XYI`$8R_cyjS>S9JIDN)V{-& z(QlVib;)}p$oxle+I(*(EUGx?HDkdtctgb=1=b?*HN^HBf~G^U5la)BM~@TwdAqmDCA_<;_Y;k|X!!kVqV zuNA(@W1DZwD&RH>{c@yxQH4%(ZKJBR;T$Ax_ck?;1zBsK06abMQ^OjR6WZ%daU9UW z5k|1MiMGiZ2L-+Bt}#uxo;6t6s2cWB>5Zlv)!H&hWX~j3 z$F^TKCA5=?27Z;ArrwOjS*DNw(fYT>z9rE-HSlM_);gbtWYu*G@3O-TGQOf=#b%-3{V$o@jmkl{z5+%uDrk7}R7zZLX-14HpPxu?S__-xH*_NYsK z^2XxgKP}@xPbgRd2m53JSw_lSuVUhwe$4Td@aB;Yv8YL)$vWtIl<7LyNIq0#B%uSb z8PC?W;*7+=Mld%1RTUCYX!_iz4Cuu-)b6|);wW?v30+M!)5OH=WDSENu*OHYHOK0{ zFTK6-SlOsNmy&@R6l^nr(~nw(T2SRlp1p5oxuq>GKF3Vd^}RaFTe`aoZK?@A&2uwh zW!iAu{dli3kH-sneRFSRX6%-GjID$6g*YVpQ^Zu2Hl5E48JSb3E>wFD!_8~KxAvm% z#GV^TbW3|-G}B9i=0eh}Z0b6b6O}Fg%U65xUq<*^`sMA;hklwCrKA{s(_?QMtT(X8 zpsb6>_eeXG_8``fnw(Y7GC74_btKOO)MdE0@#OkV-Mi&vb%tOw9m1|M$a{g2pRHfh z(VpO7?F+_pS4s0NPev8pRjKHjE!CVFc(mH$Nf0X#dXD0`uN>QrPr_2ze`f(2F)J?L zn~{utE7VKfvI@<`o&*~I072K}0wz`HueYEz=sHHHqTToo*G!hqF?92P$It^M2<1=X z$gCU`WZ4mw;&&_H9X2ZnZgizpWk5h~erm_myeP4F=-oUgeCWnS0~pUzKDE<2R*r`| zsU;iS=e2zSEu}9Mf-JI?xQgCpjiWo<2H=cir>!ZbqoFjK_Q@Vst-hZ>iZuHzM)9p} zZtfB}B~;#H1mKcAD%XvEAK&;+SnbOgT2Qkt7!u3a*M(YqiAeIZDwe6Cd%~X>b~fTbN|P1L5&(8c4}WiJ@vn$++fC!Y5G*h) zy_ThQZ{}I31qpyI#`pP`aH~~PiR|ULX;-hdi01U`7nbA!B7k2TG0=L`?tGX7O5_|8 zxgGIN$wjm58&LOA%xia-_ga0#b|i^JOwmW({fDWqA@M|BD6*AqmTQ}RM$m~JRQ&Ls zy|c}6)1Nfdx+CSYjAZ4AQH#+Xo%fILw13!>!u|}nxiekb+}zBZ;h;vyWMQ20NML@x zmCO7#I=gtzJxj~H8bq_LwyAXtTf{NT#twKH0H1tSVplx$?09u6drFOtyYUs__@xJi zpH{fH(qO-3O@{y@I1IzS8C6aXwS6P2cw zMaB*XPL-WB+U2=al;*6NUEhW@ zX>af0x7s8!xB*GVYtqB56MavA0R*FCpuN;|-3Q`kMXN^$z%jYbF~P4xy70Zd=Y!+F zwF@K{3zcrX`d6n3IL^kE6MD1AJ|X-*g6Bz*;zhF-eRz-qq9I!Y*~lmDB)ZE4$vRlWq#*aZKcV zU11KJ7o9!7m>Ee?)OGJ%)sKfYO+w~2iUjhn0g^It@)6piq!ZN>PSJ(gy&r@%OSpd3 za-|v6?pFTxI@gnU!$6x!^FU_#$tT;|xogJIXu1+krl-!o5^wG;HCRM4m61+zIIaHx z1Nf~xQZ(%%{{U5)^=aNwG?$VOFK8J+r?(tpybAHXHh9>{e)2`D>uVQ6(nY%LKGt5S zNBGxFt8G4)Wv8;uZ2Y^7apm#T>CHSG;;Gt4o|8)Ej-eCi4za_0m)5rti6FU8yD0Vg z*K6?m;w_G!;H_K1{xk6L)O)!+wBi}u1 zs+?8La7&rH^gZLmK05Ht$A%`;Cwwl|AlEl%r|W(%@jK~S96xAy!^ntRZt?*; z0sip-;CHUNHC&%5c=Z}l=j?Q^W8ohge$Pv)=oqoot*xXpLJ#i|)fvNV>&XBb^M49x zo+;M!%}-yvu`^ykY){%_JC;cp5))@|+^%~OPY(sm@6`PB5hp3O*}-_5MAkfI@rLHp zLa?}1hSlzFBatxBLl_&0`d0746XHESTkRE6Goos@R+7BZCR5IZiHJbFA&rD^9@e-GF!O>GWs?k2%6GK?08 zkjcqB6~V|n^;k@xIcI5-%PnzWY!Rub7HyfV*9-@sodK{<6c6|rqVNK##;n*Z) z9glkUpM_f9js2e94wm3Oz0^xJq>OR{5t5+$9@X7CSE20}Lh4O?3$@6+U!Y1vkSYet z6*(ORcvipQ*seTfaeV|sE033>B$(&$ttrdeMH3j?-a4HhLKc?LUa$sWxPCdurEcAQ zm7t1151P(9@J2dSr0sBeY*N;A(RrmPj@(R11n00FN8?p|HKjvs;su2uDx0$$PIG~p ziN&X>DJyDsx0*aR5r{UJgnVNa^Y_KACI}vQ2m)1BAbQs>Ce8qtQ{>%i!20KjE@#!& z)P0sM?1h{S;ePf#{i_GUQ0cl4#K>;-oe%A{i0WpD95w;y4{GryuCzQVuJUI`p<7<~ zr{Z+lR*I<$PR%8_xNw+2axzc1=UtbG^iL9ae_i_)w5B_&A>|cbagm+~>M(06DJRNe z(rMh!mfrqf4eeH95S@xg3-qn84Xl^CIJTX(?*$7V%DWWf8(hcD9nI#UsorSzkZSTp zEcWmuK6qWGWkI!AkMCd%p7oD$9k1J?ofKIW zOFMgrLd`oV{_6Lxbm{&y(R@O6e+X)CZWWZt8D6DZa4+C6v1UN-S9m+iw2uLp^2+I??Bw3%<-*c*8~ z$jZ99XB-&zpG<>YPr_YjU--z{!*ngCXu*(1-*+Q8`ewT$G^!ohY%#ubogV#05YrYzRJWlr!L`q09$~|kIo{s3wq?}!h({GDI5}r@p zK8C7E3QKH5E(}r?C$>d(slHnZ>cz`hf!a3!Tz&?i*Y#T+Gfo<(*~i*ow`9t9&w9>k z`Y|ZENZVf#Y1X~(J`DtcQk5x5$Zjw3LSpoWRf53=$y%%u^s(Ky?GTG^R*tV^sfMT zd*SDf?R4EL_r%v89`Qx>{{Y#9k|^>PJOZztJDsFwIp(%zTbn&f^F_V88l1XpuLDl! zcbl}8-Jbn8u6$dKD5=DX?LrBat{}O4h;6Mt@Jzqbw5{~1bSdVwx>Yi(js^}6JxA7! zXJZT5rd_&uZnV%&H%7QT^IWdEEyBSB5Hb0kQ$E?|y^2Xi`5Wq$qJRI@?lnIV_)f?6 zdp-u#d^`3p5$X4!+%Q0;W{k4R2^~Qg{&neJ4Ez`8>w`-1m9$gaP2v9l?F})6grXz5 zrs8@A83Wrjv}Bz`*F)H)n0qWgBsVoAw9_?D5$PJPlydiXH#%j}1LbL9VTQ-9Hv)U$ zSEcI~J`8AVbe&K~DhAsuN_t>*tZPL=q~$Lo-ooNB6QNEt_g6Xp037^1@ZFvDhO?kq zM4EJvnDH3lSRC{C8s_{I`c?159a_rPJ98G394|ib2;A*~k?H<5^E9J5=Tb{+CU@4% zrt+A|Ti(ys=dK+(+fecDm#e`&wV<(_BvLQbAI)XRjjU& z!~WIZ3vD$IkD4B@rNJGN_=8KD?@+k%$%!u&MgtMu!2K)8=lDBusQeYS@%M*auQYaT zgrNpd$bqHYzM~{#ughFDz1TUJ(~IYFG<-ksiVqd(nr^A3>h}_~nxWHf;Q>$Cpb-}n zV4UNA)jZ>$tz_uaYab4NC|F%w-Na$k;dx?_WFIm{<~PrwRv15pb3&~7)Xi|U=L*XH zhu6Lk*Pzw(@nNgS<=u$Xl#pPMMnU{R%~J6X!+k3D_rl=2S~oq;gT&vW|1AZ1F-h4(_irRVO>Jew<9R}Rl&IE`ka`GoYT3%_=?3e>zF2D zQIPF*9SA&wSP%(^iKJFg_UGDG@EONDo95_c?6tSFYz|$*N;|dCEW2I#^#G_;RN_^Xt%aIwaZJH7~FM9;$x7c zb|^r>tvIz8)U~u|+BjKH&ZDb=-mTXu<;37NS;J~aylhm)BfEx z;@mXHb_P|>b52~;oGe!tPRg8ulRHBWGfR zNi>iD*6jZPXx|SFU*i;C5d0+t^!ECs+JM!eDaD<|w22V}bpg3PpDugVuZ5o!H4B{s z#M)k?aKh#f4VbJ%`5r`J{Knw&6}ZRJx~91*CYFTKl&Q_B8b1yGDcI>>47At2hDE&6 z#nkbM4t&YxV8oj3z6{5z{9e~}eNlCoVUJInZOLz%Kwl&U9)pU?tW{YhEswONiu$G* z)#}aZd`+q7e+YG-2ySxN*c4#Z<9Zi{d|9vjWbsy~;C~VQl2(BQ z{jrm4Ne&4l1Hl6o<>Bb1m|i>b{zJ@Ld2^h4%Krd*IbBcU_rxCwL8_tfIIx89Q#+bPAW;? zbbORwG<^sBE%<}uPl%rgF7>T9!_eJc+AYPU?2=u1V&~-n9e6k(_0LgVzkn{hSKz!!lH5jhtb1Pf9U&DVGJ{frHSQ;L2MYA~XY z+`NYl2m3C=IQ6fej4?E)$hA3}lxilC>Glv_U)xz|aKzEyX^|{8ubeoH3o#VB3ejSz@?FvmI zU>LgPKDF**Q}$O~4<@DgTkLS(5_~B-_nEA0tcgN~6#d%GKh#-?ip6v!CfUuEI zY;bFOHI(6VsurCc4<+$ujAXs>P<=3~!6cbt4}5j58(Y?H@2(`a^GH$72dyt?n$&WN ziaGce>rD-PW3_H0ZSn3I`G+Hp_3HZHgtfnke+s7fgL!vo_hRIvws9#2AXE^_Pw<~k z#=dVf#&XR;dK@(%>&j4F5#`rj2-mc~2seoA;Qs(ejzb)bt(J|)V!c53uRGM5=H_`O z`GbzUR4QDuyF7;%85d^Nw0o}%LmiABMeuN~A5=IUbM9-?^?!)|9n^nj9W%kY=Yyb6 z5^49)J+8BEimcHAwUz$>i*a9+_BaN*Tm9QLgS%;%w@D=GQYK_A9vBh#SW?FG#iwpq z@=)Ng6^&WhMY57|MT-lgcuZ{p-o03_TI{?(phvE0FAd+B6T`H|RD7qNLszE?u~E6( zg^k{)|JV0V6!=Z;e`%i{XdWE#XiF_qz$twn+851*t}YzKEWdzMZV16V)=r(M=pPU? zeOKYvi1f`rPw|e5;@NK_0UJ@YRNJsVGxvv1oL8wCIW2Z(>y^oKA^!jxeiwL0K=?-v zzu`xF3&`zZS@fpHOZ0gcJd>Pf99N8d2l$8MPlo<8yS&jPjh^|3+F+aIj#8wNlh=&a z4ji((>UwybQmIZceG%P{h`Nu7elFg4lU?%G>sXlt!X?_DDu~wu=mlr|a`4xRJ{wPG z zORHr&VQ@em{eHFdN5jtoY1(hV+YcUScQ2^eUc%qn+F}As*8W?0pkVOeklj01eJ*Zx z&y}E>i#V?h{8hR5Tl*|(^7u;Bn}eyeQaL$$g_-daD)%dZNgk%Ykns19HJ=Io%hN;S z%Z0zaTLE(!7{$OVy+A*XIqzO}GE(G(*G6jTslw-&>s}P_-^8yEPpoR`Xld1vxLm0QVdWreDzIVOEE;4L%8J}>b)rQRVviwA8RJ67( zTWcOD@Z`&BsR=`j74rd8wz~ZX;*O&~i>1{--~Reha6FE$#fbB&5-2J5Nm4%3dwI)jU1o4N}@B*e=Tg0O5h^YA{oLhnt3? zqTC-wc$U39+E%+2t+(HkE%MYh5L`^=S(Jj@b?R#C)wMC=(uz#68QXUN)UDIXib7NY zhQ~q)?_SmL*Tr@X@RwiHbiEGZ3u|bhJIrTe1}E;HVk_h^9M$SwYe%0th_n3b+ zV;HO4yQux8{6a5n^3hC#dhNl@O{ZVW7Mn9mr5l%m;x>*YY zDvE1HZ(m>Nw;nHPbUivq?OFc-a*x9(_xG-eHMuPGd9?jCV^cb*X4{f5bH!_hgM~G7 zwuHH3q5shI&x&3IpTWA8o2yvs@#GGhI)Jz8ogA@kS{n)7H){LNzHgEEN%u1;GQk+sMUX3e~IYZ4q?aYW6wr5qui) zm8O7vL8V)nEUlynN=f_9xZVf%c>Yz%{ABT`jyz9grf428)8w;FKEfjg;g7ULMpg6Q z{{XFB(~5#f-PPo#c=w1jp`sN=nPy3&Srydrh8f4!yKjO203Edt0b1U8Vp*hpGWJm< zgYOvl+S_yL3C&eC%d6^f(VFLWIt@;;43V0Z5%QT zDj#FdN?Cndww~G*QN~*OpEvmCRo1>DY91ofv^CRVzL?5w;U6SyK*(P~kWb@Tej4-N z#8JYMY>=?YV~+e{s#K$P#emruMFw-8gv>(mG!KaM8zyh6|H7uAtY8EJ;im(q_FgFBhj3cRo>@m zqxhfx64VFcKAf>z!wgXi$QO;uoRi;^TyCY|pSNl8YI+;Z67D7<1~*p?EN?W_;Iw<5 z_FIpQT5gp`w#GC+5k4aLZq{ui>TmWL-y$-+1|Ids>N=l@{7J4$Bic)F;xfl-6NMa; z?O#JqQBd+Wtr#oG7-zsb?xW#5zZgXdO=DpyMJ6O0m6+gsy>Xs1TK*RJeRrt*W6*RT z62m2(uA^}gxY)!P;W;I;IsMII6Zh8XACx-ELr?s#I-H21Z8jX`6MA~vq)KXhl; zoL8GAIpTR%##>(f4*~H7=C5VrJFPDI(c!p(%1s#8l)i z29F)x)CzX3(k4}zKikO39`)}ie&wam#*}^c8=W79d^6#j{aiPSB9hlhnaA0RzQ&Pp z^9=SQBA??Ag;)ANhOF;&g%es_D@ko4e9U>l2kFIll%ZCfbk$tazcNY3W0xKl)Vw#S zNpGy_uN3HhZ!vb9pK7TaJL@t%v|lVgc-Oa1qLQ*Ysmt8d|Izhth@K(SekW?W#on*1 zL2WjXq$l=1Q)|yUgS6+l+`te!RnLmw157>!vhm)5V#t^FQOT*=M!S;MeSnr7z$ZEE zE2gbD)Q2)>MM$ng#=HgNi~j%t{7x6J*re@kC@mbA#zEwMRqU6(D6#R*yQfWQrp;}o z+3GXhyhdz!(8>m4Vmm8jgP!%tgqw@xGNUU-#=nLq)^9ECydU#s2_?mU`xurC8|t>=&t{+esYK4qYM6SEt^=IQ9m;8AeqV`yCb6 zWPGLLn=45?H*Iv6QKL*`Ng>^jD5o6z8o8@oR@=B*}`(TrMFJ^R6)68J+Vi=kdWhHWSQ)A0PzUE4~7{yt%oda?8_j7EBJE2z>e zd>^9t0!z;UCG1+Q=A^Bm+B&!IU?2$*hkOFq&pZl=&M7G0bFNUf?{jlN_<7*pik=44 zZhSSVJU7~8%MPP#A9Qk(Kw=lM!6X{;mGJz(5B?+go8gy;FL8CH0-Af3!d;^c%HQxL z&-@5hUcw1zaa4@8iYD;)!|hSN72E5cHqp+X;ob7eL$B{08F$7>9XbQ;(!33PIcKc+ z(&gov>ck{XEJiiX+;=^P*0gk#8b>@}>B{|&Q}N<>*Tf$Oblq!P@gx@z>M+5ktnA)f zVNTRnZus5TzH6EA*N=Q(;0=3F@W!Ek=Zi^R+CeDXq@gR2Pj2AV)`vQ?M?|V!+Dk*} z9|L&rLGho2Zs4}lWrhtmO}D(3R{4Yc!a08?=RSm2X{bCJO})*Qgg(`8CW>W=ojzD6 zMkSLY`@Yrr#CndLZF~@m_BSgfvDz9>mkdz)z(fmoN zYTp;NKMh#hy`(pA%#lBoJix1vir$?-CcOuX=cJrbA6%P_k;BVpsdyK~GDWPk&{^tM za=dEnc1lq6$3jCX`d72~b3@hceiR=a%>-uWP4N6y7C|#1mO+;;M|_3~N3~^wl$yMb zT2q%Ra@@)A*Ta7UXnq6I{vcoI8k*lpaEq%=JdEXKlN(OLc*A2D^{-UYd{H%?uCPyO z=PmS4EvXT0*y)jj?rYM27K=l8FMC7EzCT$dhJ$0SKvT)oEQ831+^ZgWuN(Ml;%zST zSiP6UH#bdTr^V+$hH|bZ2jpZuP7gS)8Lww4G_@xF`$lx$CbHE&CF-6b@ewyyI)rX_ zxck!agO10F?7kN@j;ZlN4NCt2RvLDjV{BtK!S*H6;QX!Y*yGd+b?V7dqi zH^rLT_@m~wQ5B3XKnj25nBz4*ldt%Jd_QS#q3V}c*3R3l042P!--Gn6{hVP>mv(mB znYGaCb)SgWch`2e{x!CS>2071IT7H<7mvi?R9-yru7PW$CyhJ{VpBuZBUhDF6Z_^I z{usq)8gi#mHM2ISK_u66|I+HbdEuMef7$Zd;MzuS^sQ3n&hyIom=T9Y$m_;2kEMIR z!{3ic-w*C!@nwJsZwm-L7>H1^74Nc7dvBunki{)a~N8)KwT07#o2OdlJ~^yzH$GydGi0MV>clQV9;@$5rTjGi0EIE&y>j0F z09QJ_m7)zs&7D8eAypZW1|NBHGm7;v@KoZp^E#?>#k7x?J|_5cOYxqqCavJxGzV9? zyS;00K=ML@>@nzhAbRGc@W;cS8hmm1WvYBo@cz4Rf2n9NTE}&z`52z@096}XAS(pH z=dLS~vxMTzV;ye#A4BM#9JtW+tvcY?eUj43!JvB=kLP(9g3X_x;8tbsuXU&VPfrsj zlJ@$2g2^R~!yy9R=nM@0e2+t3JZdLi%j}a@ZM12A&t5F>wZ@_1ZwkkDEp;tg@wFG4 z6S19Lw=%D=B!TT%{{XaJhX;!FIAhUnS-eG}>b7=q-pbon;>usVWcNZr&N;yy>)V7> zsHV-iUsJ8JpTtmUdRN2!cUp<8X46c1gWJL-iFafx4E6vxIrgs%@D`QfJqPyHz3@N8 zk1q2}n$AllYj!0rNN<#69*l?cttSMejO7I;ZD>~4{tEb4toTDv(uK566h}_y4f-$x^axFM2@NpWb$^%7A#A)F@Hs&;z z@nsSROyV$|N9T(1adVAI@RWAc%2AB8XBFemh5D|I;bztJ3C_!Fe>D<3^Uu>c?%ek+{bsgC%{zJ-dA>s(aMAN~GGA?tlN&+VIw`sOmoxtu&oVY1R!w z{bKz2N26%o0|V1GkK3S6o6ixoLH z6wimgC}=b2pB*(F2T)-o`en;N?x!mFJwdM9!QLv+VfcM%;0;esSuL)vCApeqd@+fa z8-L(0h7}cCljVCPMjl+1ZFB421YdYV!yW*Ib(xp#wstEVHxo8m;xt@<4{|a%uMYT^ z@e;?!T8_HCehXy;b;AsKfAo;qBI?b11RYUeer~CE+I?W*tws zQ@DK%a$-|)CbW`gsOY~EuYNRm_ffj=pV{qZ(Vo$*7U1DpX8~Jy9aIoc(AE!$ykX)i zokLvk2gN@RJ&mrb1{D~AtFQ@rQ2h=ik}IR5|#c;YXIUmCQ# z>zyhqoj%55t1`!lE^SFTKkot5dW!4f_@m$t6nM_w+A9nAuJvtQ;a4k?(X*Yrf3lyJ zE7YRfk1s;oZZ=z0pFxvTgZSB3a#EG*Y7slpO=t2DrUN(Npo#Mi*o3xgP)ZPYz;ohn7KJxoYhwY7i zt0Z?5v0^|_JM;V?eiZF@;h)1h&xqHFb0M>P%YBzA9EAgtbDys@<<^3(lw?HXDNE#A z&{N^(!~44pFG0VEKubdsq`qr8$lMQe>sK{vh;2N0(b%L?&Sye}S36XUkZT!H<@aF9X zqjK}xUltZykNUBUZT|oY=bc9!Qev7>t8V7*yK#G|{4u*tKHtc`jI-MuZW4jh^A(G2 zEO#CpvbOOBirZ>(LJ~&60#FYGAIBB%(_G9WO-o~r@vYax{SW&?Og1W-+qxrLvU24) zLyq{*72qB^@NU0#@eyowYj3k%U&rU$o#3k`GlF{_Iv;A}#?*YSOJfTD>-0G9D^LE& zourwX<^i=ga#)Trp4D%|`XJOS7_%&KzY=8QBht9C$2hrj^=8;ux{b<3vn{5RcPv(H zBR3Nbv5v#A{3@;O-L1XJ^W@nyr!AWGtdw*;CAEu7Zf>-(3Jv1mY$T2bc+GZtey44s z{8!NR>G08MH<3)h^dU|g^d_>5edi<*i&DQs|J3?>;h)1#4&MAk(&x0i@^7qXV|@## z4y&__4|CqMw0{ljJ_G%+Ue)j9yVA9IW)SX^akL8CmxKI0M;$Ah4xS&`!d*$fvyz8K zkC(nTwvBoFS8LarHQ1KI;^;JTXFtLLIsX8AG|O)Qe`VTu8^qe~y=pYy5#QWd$r?7- zwn)Kao_WfGbJ+1+YB7}M+~$h++w66}2EHlUNvlVo_|`*lq3O4>y}Z&XGHjH2IraHe zgIOB>tETC{wB7x#gL1bzde1eDyD!d@Bb}j$?m5k8UZv$t_Ge_~+~cX~7Wyu|@bAZV zx((6N^*tWOTVZ~IFlB>(n65LNJY@1aj%%3xs5~QYp=!E)@VZG~Q;5kVNZA{6)Orp@ zbmBeyGv#`V60WZk)4yiz1Hpa|_!Sq4u5^=T@-scv#N(NWI0v6w8Z>v5cjou37M zyneOZ{1cDBny2jft?Ih2ff4a+>vuh*=^yVF6i`WzusC1FyRh{wqB`i)P7X_Rm+=1p z#V;0UzY!+zfWK?&U3$d9YbC(>riMaFG3~o)uE*oIg)S^U3wUlDyDYwmYvc=z4 z9Z4X%(`3%{ZHD9(+UcD295DJCFmZKhDL%wfoSKVA5%9PBKTZ9gthMoP6|S!g7Z#Gs zF)qY;j8;Y;i08i*(fkzgSB%&8U(`HFtDm<%p>r(m=jM_S7_PzeD~wk7s*!|w-(l2E z&dks7_m9tpJ}9=K;@t(;O~?_#${4XNkkyZ`{5;b2%}-d={4p!)7I!yh0Kpnvq;zJehd7PCbl~okaR`6fKpN1Nyk7cUM;TSaQ+ZfYj#7X74;OFMYQhVmM zymfn`>mDAyiq#>OD>jZaW*>KP+8KU_73s+;iA|bT)>a_!zmD|lSYnRmc;aJ}WR&&6 z#z(el_l}lbTf`bG>GHz`(UhB5<^KRxbh}Ap$mnn~K9%XwTIy9R-sjI>v}_u#o#QJ# zLrB?kbEwI(7Y+=Ta*PJu-vh2|7snROf3M%z_*+}L*L4jdHo1~XWCfbgDvbR@9@Wo^ zrmI&}SE-#yx1!YX` za;}t@l55}Emk3-hJ5M;xKUuL|YsK-#`2a7>2N*S)T&>vXjCAHYn@5h@M>eQNB8=_& zimj+!Z?LwvcFV{xMrzl%wL4Sgj)(u%`inrYPt_yw5{{V*C9gUrax#CnL4I-|OJcalc=NL9gHd-3^KqiPynzwuY#6_1W?tq8T1e8?_gZ!^nSf!`TkqoB=c zPMTC@7@btols7$3!8YD7m%;jejjs4*tTfx3BQ?56Rkta|*V+#qi3gFIzluapB-YKQ@0Ymt;-ly^M^gx z+}GLO81S}(@kjP}Yb}1n`FgY~D#YA0GIazV#)>V{rO3LNQFf>3aayLI;qL-?R^!1p zIyKx^wy~3EEUH*sMUl7{{Ed1yhwSYi;eEZfha6Gc<)gVBImSW9eAHE=DzUQ)m8E;0 zckvHGms9YtH_05WWpCwd2t!Mj&Q$u0SD1J&U%K$W#S6VNPPe(6PP~!kiWOqcfpA;u z1u0-vlD4`WQdgPumWkru4{MqXH(Fk=1SV!EBXR)_IRKA-mCHe_X!gGx;IO~3REJQS zOAC&EMP?h3vFLDl^%dP#3z0NvmD;gW#J|{9zY}87^~;+mE-Y9bKe*3^sO^m zlf-s9gXRcXZ6uj@dGcpzIX>CJuOIM*&a0*AQ(wb&(Q2ByNoypL{{S2ecwen?VVtUB zr#{ANP0K>Iw`m2It8ZX3)5ZyGo>{9CR?_a`@z;}cgj-0<5E~(!jDcN{ljdgDeDATb z;p>Z~hp)=R4aZt!)5~Y#wFn7ohQKwASaP?0%^Z@6zR;vT8fR%gc^T*4xubaZ9wvaf zI}q11tnFi}6Kg~N*85Y#R=Qt>J_y?AcTW^rm8{XUv%BXm%vdpF{47DQ2i0|J?}~r4 zjiv8~1;i2DTgxTQ(coHxAVLBDA3I3&#%C>RPFko}+YUTHg^&gD!czR7E!s&HmrRr^^>XJm@v5}REzCY)m$~pHH z68D~=70st()5n4Q6Q=w+*L)uahayLFY_i|&9-{#6^%dlvBmJ1|SN3|gwbSn{;B>m4 zXSuo`KFyyh=cgoh^{yF3H)PIgwCtU_pBng+N4$$ox4DMeRgPh~8IX*QoqO|NNB+n+ zJ}A~^o5NQ+{pOpe*pqW-WcK6AyknT=1d);eVbi%4cwauuydS!nk=^`V@n)srtv^rE zbp2joCx;*~!#467Ncb4{I0N#pKh*qrn5Ch*|nR6H&)TU6<6+q^aB;>%A!!bj+%86O?Nxr0(=2@6Rd+H+*FNM_Vdo0%Nxg}?<#9Y4#5ekFwuc_I zr6kvBrfRWYO?NDQVkOLtgk1LAxm%?~+GqKfl{U^`U^?*#aaVZAPP<{UZ zZ1*1ZyQS?N*2XZp_hfZ{5Ej>6@eY}+>WT%lXiPT$0K|83lT;wH*QfBRG+I#8?KJtk zw3#IT0FQ&al1HHx(<*64K!Vimd{3rm_P!0XNiM+h6OMsOkCYQc4fy(~_xhhbmWRo_v2zN5!5R zo5cDoZ5E^9nby+vO5n{44ap+*dz_QaRM8?`658Y} zO()qye9g|>R{4De8hp=o3Oe}_X^$MYk@%Zgu~{NUWlhJH$mD}q8im9+I>z{4G8t=Z?xIZtZMKY8;PPASJjD^$F?w7Zf= zk-WJNL(;Nf)$KpD!7dbo&TA^^Hk^AHduwwa|JU{rABjFA_)o@OEr(ZYA)@GZz+1xG zmUW2!@sE7%EJwMnr^R~8{44ltdE##Z*xPDaKD5zW5QiUPyD^Nn`>(WQc0XF{!`D-? zH>WGK&3}x44ZJJyC*dcCJWt_ERhvt)itZ*^_*-ckBLVpm{5Wuxq%{G<`<*;l12n5ZE=n`WTwoPCU5&zPRsPR3|Ccmtob4S7*=v02O{2 zC9mw2KZk8%H@7+*7Z;jy#COc`r_L9SN%=<~TH`(mf5OMswVwvs109^TmQ+c00e zr?}2*FT=h()O7D1!|>)?IA*Z8w1yHUOscza$o0-hsD(JD=iJNPja?5`vG_}(f5NRg z2Z%f!X1bo8sI$JIY`_^~$pn+vlq2a}ua3WG{bRtsA{zI@yV-ATbLGs6{{Xy%9zp*A zX?s@|CWC3kF;t}auK}M9Jbfj%j!%dDVd2ZITIy+#S*r9B1CzTv53PDOi{n2WYQ8?W z@ZODKC8m*mEz$`t6k-_BLog?yWetux)|eV97j5r%W8@7{*?Y*MukyWjX%Z~;4 zuT=45%c@Ce_R##+k}BY;mdR2*s;7#4GviG^L5%5Ih>{5OG%)+-z-eqP0Do`J+N^` z9Ya)9ZP?=UtJc@<{9E7;72Zc>s%ZAM(Avg}{{SCK-@GS1$lZ$MJX5Xc9u)9TgmfES z2G!fc7c&@c%4MZT$teD#{42`D;yH1VruLAlH4mTp9#i3)Yc}}vV}BH%WwBe$;H{VUy1OC)Jd9Ln!vABa}g+GmNS((LXG zx_y$bksupY!5PRNmB?FIOL49w>_R{nfCp3SMY4X9S?|rKK!2l@iy!Wp?_?7V2#eNF? zpEP?Lh$VZd*}t}J;BxTGwBk8HNnDbWhh#E=*XQ#C9gxxMZ_2W6JpA3E=*nC9s z{{V<**6$`Z+H1sYBl9qm$AVjq{X5rn3B|_gYR-twYvg$5k*`Ol{?MAu>DKQ*vL?Eg zTW6h*?k!|vumR9uHy*HOzOg zvD~*dnElkPjs`K0#+&g6;%%pcd|fV^;oULydEN;nxP}j$M;v%1+uIezjIC05+DbcX z`4uYv0K8G?&D}fU_lDl~=i)ue%Vyf_al6AKaSm{Dp#9&%v3xzN_;*3Jyj@0dX=0kq z^~H#uPn?Dw{fGx1*spq=QBZBOSH?dRb&m(>nha6ctXf_4-dq0w3&gCuk%06)E7ANJ zap9M{Ian0E_%ps`&EaIP9RCN4IuEal8h|8Q^}E zwG!X!n(AH4ESA=>jEMO8i1(|E6dRCxsa)q8xW_fp>w6-feuNrcqP_+ATy(49HMzBrsyiHl2i@oC z$KhU4HotB0JNBp40i+sRXrFqA`YPodgT}@R>RM7L! z2t{dm@o!1hJXdFQd|9ls*~8|7xdZ_e-%_cJ`X72$gIzJL6&oDTPujb)|IzzH;YW{jo3GiTNj0^5S#&D~StpT7?nv{8{{R}{ zw9grMo8qs;Edcn6{QhOjpZNMuAxQR<&jA5h99k9>z@rgE8x!z zc#Fl>#iE|(8DX-sM+y~&dVBNuRJu--(_0fLrKEN|YvN9qrfS~+4eU1UZgn3b%Fz{0 z_DGj5NbktbeJh{%5r3sy>$+Z>;v0s&ww30d*3|)ag5oyD@TZt zmKhdJf*F%+fNdB*PSo38&B^X+`F)*})gq6Nb?aSI#aA9b(Bl%DI~UWXVsfS?Y?F?} z9P?gz@B>e?*8c!%4MP6_Rguh*!8B-G@gOJW`iya26RxFbFlEPo zxTl`YUqL7}PRX0eO6A`ac#lfF*AIlXG&d<=v5T0cBPhst*iW`=wX(Ia@W+R3yg%WI z8u4yJc~Z&z2!Dj1U~8EtCfg!cYUrn^+3Md9{2Av#b#*+KE*eRKoumWL1E&?x_+R2} z#_=ZOf`!>&6YYH^n&R2h{xwIv+Ry~TO_7NQ+CJLqwT%MAAw z(;BVAUYZ%xi!xN zJHzke8(-{m1KsJc5#*H&tr`2-ABS4`cgMZ}x%ffx<4N(ooJ2L2ruR`v0`84qa@hoX z2E}<;j6|u`ihaRPk)+PE!u~1vP2>9^;QNSDJGgZgp2iu!)y!Py1Mw${i2DBDzV(w^XGa6C!qOGKPv9`CmjsyS>`p%l`S#Prn)ZwF&eClUQEN~maPPB&kX47{UptAFIO3r-rH*>B zjAt1~W9n}TU0T?F!xCQEK=-#XKxfo~C^FpOeBbaOKb3iZz%Lfu>fR#1xBc|jQrquY z6c8Wgz&Z7=U+WI1FD}gJoZ4v~*L&~}!~QS0{@T`U+AEuuR-0oLX2-bouD?g{-kWQq zTxde&S!^2-$^1)^#!szu#=1($87tW6W3aPt4X&L!tjH9M5DjAZe?YeIew}c-b&wEF z<%;9((u=;0nk1~y_%$6i>&3Sz3&yt%ZM}%&DnG)!uf+1|KM_6^>mTrlUmI(MiKB`4 zmBT3`^~HBnjjovHr5OFkooP0{ANX)dU}tM zEsj^i_uIZM&!(AJB0^b-^{+|MuHd+`cZ-!AX08%ijxu-D=XJS3)XZV~^UYk++sx2p ziJNc$;-^%M@XgP28&J{Uyip^dC3vVTbb$x%@$#|GMMAr2vsl5apa0YKe+~}~=wBH$ z-wNGn>8Z`CKbO5n5V0GSlkP^}#=9SjdTx{UYu!6b(BZQ;P?SU|hKP_dez^v`8dbfO z7&p9)<4^Z#t=ZCO-x2hE7vSx+mc4Tg$+otN6p>d9j>j1T)OW8B@gKxpM@#sfulQAb zaj3&*GPrh+HQ<$CQVdd|lWH)>BOs}- zJ@~MltC2D1KrK#mr@Gl$=mOapM`Me^jv7hQQR>U z<#iL={um~$29RP_BE!qXiUIjp^#|CB>ih?yXdeo+O?Oh&WU^RqZ+zP{Dixy#>*_~J z>C05TloyfI)8|R{H}#*4ZKZe_wFoVP%^H{T@tls;!+1kn@z~RKmA%s?Np<^!d0{s1 zFeEM2e*$aJ!Orq`F}rQW9?_=#zd`UaUSDpxaTsY>^~O1>(Rk46cJj+>X5}rU*&?w2 z09ZY%t~8@ke8#CJ`Hm-1(EL-cYDhH6lS=X~fop(1V-Xl-`Veb>MeweH;XMU(EhZ@? z^JO1sZs31PJlt!DAIo}s}KSjUs3>Fs?po-E5EbrBj=bZY3Uma?fy0?csbsvs& z?N`gxEidP_h=cRR9x$#wRfb2kRFrueTba+@yE}h|+UJ8;_IlC0Rjcc1ABl90Ui#X1 z;7)Akll@m8!c;HPyr;%`W|?L2Gf=e9wHa@;#k-PAJBb$#(J|Zs_1X?I-xZ`9pDoVG zw4r|G<~3FJGONzNGcr5St4gePR#iK^;e zcB>SM{BGp>*F&V-f~tr)@ARrxmcdSNB6hvV3>&KEuTS z01+2e@ZXK?=Lso^?py~l#t;xm1YxoRvF7^!@ObV!hTz(LKMnC{^%G#oqAWqy+=yAu<-ANr4dUsmy+DUdK3cc z5Rrr5ApVunnZeHuE25m@ttZ^A;7^Hf;n>HAq_AtoyqD$k6KGCw0X5rN_*%zX_=kHh zjFm17D2-~D)KqT<{YhAw;~uHM{gk726X+9k%BZcY;Dlk+2b9CS6wYkncJ{=l-ewzTqRh7T@B z&-&KSEPpz5C+}ae(KQ}etDQ5hl0Ro1A5yd~nw-xhH<7W!Z%5(r=vM?+341s8-^E*k zuesreaw~Jl6*Vd+RZVsk%0)wCz^bZz}6fxJl#SaLB=jUc8FS@pq11^5$tl zj6BX+gkuA7uA<@c2)Sybc`UWeh;aXD!Y0}RwtPS!-lC9$=w z+aqa7b07M|^sFTNebh2KZYv6wW9TX>E@z?MpEOhGfB)6{YvP}cwCyj$T6)~+=J4u_ z*6~cEa--}rBa`X!k@Yp?*FG=1wD@%_`mu^AFK)nB57AU~{cGp*OcIS-E#K;5w3jbJ z4O_w1o;0&h4*04WEiKK-Z?(sQ@qnaodEn$4;oW8;X*jlznKg|Ot-dqf z_)60E?GmKX#|6_7vAoP}Z^J!3tJ5xi9=C-)D{3%!55*05wzdkUE2#p>CBQ@HL`WFM z;nSxzt{Q?~_4PR^({Z~!$4K~5qh5F~K(o^nrIwdxhyt9Lq>)IKPpIVnmDl)d;V*|Y zKLqL8E%Ghz_GDmMNjcu};C0FG?_Q*wWeYQEk#c;e9pj&d9whM>if%QZ4cptN*vNU~ z`>ifH8-4h$KTq-Ip{41OMXgCHYEoUBX(M&RARMcEjBtJH%ycn%Y#N<8YnY)fYTJ;rT5D zR?{D!Ib(|Ip_&Uj{{SnH*yw0Wm1taUw0%yB(Z$XoZc&F?w|#4GrTjg+P%zg&CgI$5 zG+Rb>P?VH8S^w7hE5x2YTkqLoEk9B4)}y8CuXPNTe{6)Ryh$M3;kpBWMmRr(ak`zR zuAVN?t?qOd)--9}MxGRmlxW!r=hFp+V~nEbiHxL8m$th;g7D9V^y{yK6G^Mbw|W6XuubE)?Z#C{ai9+IBpn{C}5duyiX zGWfFJ!rGI|W2Z-SuE?hXGJQYU=QYvWTiNTMv(CS!X_G@0{iLYyd2Tbh2~~++e~DC& zeA2@5tMl)vjNSd?7sb99J}3CCZ>XE|Z)IYZ&2Ck2vN}HI4fW6IU5}1FJLujY_!DcS zSlOlCqjMyYUBpHdLyk^+=cYaDmYyy#uIaBb)S#&9e6OZiUu#}9yto??K6zBUnA!oz z0QWwX>fRUdJ(i{6TOD^;@rT(=+Ngr?2KmA<8%R0MNY7gAg|4r$6mKn2^fsBO$KbC5 zUfn|YvA4WO8QL~;cIyOTG-sRz%?!~4K=W3+G z{#m!aax00~3_25O+V+>?){$hPkI&UzclrG&^ndB;@|J z(NU!x41J@TwYEAB32RoG_JeUE>8}xjMgrie#GQx-p~36vn#k29R@a;>VU*xiN?z(` zRGsXOw@0`O6k*hEBLr5axEgN^Dg*pk%?e!0)aj@0v;WunKjU7z;*C<)9Y0sHv$oSO zF8s?jfwwW+&ePm`)z1K4_@e&+#UEpe&I0!h9vVV6Z3+Px&wL8Xtyz6;G3ZAuU0Xek z+wDT@Rrra09n|vJEwpjLb8P|01PrP4J#cFaRPeo6?_&PFY)-pp?97-6Kz7$kcE zimXJVep7mjmtgp{;E2<}Hd>XSM7y-PTV^BvT0)_|WAF0{^HuQldILkKS>4L_44}Cr zfs@o?zH>LmPY+X;9Zm=CwqNl4dd{PAbjZt0ZYKTITfiAU=cQw7UIWy%eQ;YrW;5no zMDiI|5lI$z4!J*c;EpSgETLAlXHxnJ;klLD^EkLPEniCT1k$CfQjK2KC4tPlS}Zny zP(NDjBc2@>_6qUE#<8bHy1VN(w#7yp%6PM}OGDXy4?}

%vqH7R9CL<9X%R^S8l=QYx4o+Q+~ zJK^~)FRvSHa7Qh?gDhJs{9lcC$}#x6oen9ZXThEw(zWl0gHYA&7tE30embk}$>e+2 ziEBR$YcjG^G?cH{#;S6Dp@E+rum67VPFS`+J?a1Jg91log}Y zasE@FhsL+Q9Mf&QAK?pOcc{bWg%Xh(k(`29`y6ptb6NO{#l9+<F9oCn zF*`0wXSu-@>C=O`wKyc&N63E}wYYVUi1+vQ5UsGfoux4-!l7-pC;ZL7<1tvs#NHhSi|DnE9{tt(jXbg3mb$s-P< cBxbt#X7lv;mDeD4r&2MEB`B8%`@5t6*}`m|&;S4c literal 0 HcmV?d00001 diff --git a/Dataset/train/akahara_0005.jpg b/Dataset/train/akahara_0005.jpg new file mode 100755 index 0000000000000000000000000000000000000000..7591003bb56f99ea13201e3778a2c690034767b2 GIT binary patch literal 20008 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 literal 0 HcmV?d00001 diff --git a/Dataset/train/akahara_0007.jpg b/Dataset/train/akahara_0007.jpg new file mode 100755 index 0000000000000000000000000000000000000000..a2cce618fbf67a726402491e1f8e37bbdbea854c GIT binary patch literal 47112 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 z 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 literal 0 HcmV?d00001 diff --git a/Dataset/train/madara_0006.jpg b/Dataset/train/madara_0006.jpg new file mode 100755 index 0000000000000000000000000000000000000000..c375456b848c3abd9996576762c4d8e3bab17b9c GIT binary patch literal 49384 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 Y$IYKlO5n?CPBr5e`jbkdQ&&I#*~#wUJpcdz literal 0 HcmV?d00001 diff --git a/Question_01_10/README.md b/Question_01_10/README.md index fe6c84c6..434acf09 100644 --- a/Question_01_10/README.md +++ b/Question_01_10/README.md @@ -14,11 +14,11 @@ img = cv2.imread("imori.jpg") red = img[:, :, 2].copy() ``` -|入力 (imori.jpg)|出力 (answer_1.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_1.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_1.jpg)| +|![](imori.jpg)|![](answers/answer_1.jpg)| -答え >> [answer_1.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_1.py) +答え >> [answers/answer_1.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_1.py) ## Q.2. グレースケール化 @@ -27,11 +27,11 @@ red = img[:, :, 2].copy() Y = 0.2126 R + 0.7152 G + 0.0722 B -|入力 (imori.jpg)|出力 (answer_2.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_2.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_2.jpg)| +|![](imori.jpg)|![](answers/answer_2.jpg)| -答え >> [answer_2.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_2.py) +答え >> [answers/answer_2.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_2.py) ## Q.3. 二値化 @@ -44,11 +44,11 @@ y = { 0 (if y < 128) 255 (else) ``` -|入力 (imori.jpg)|出力 (answer_3.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_3.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_3.jpg)| +|![](imori.jpg)|![](answers/answer_3.jpg)| -答え >> [answer_3.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_3.py) +答え >> [answers/answer_3.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_3.py) ## Q.4. 大津の二値化 @@ -79,11 +79,11 @@ argmax_{t} X = argmax_{t} Sb^2 ``` となる。すなわち、Sb^2 = w0 * w1 * (M0 - M1) ^2 が最大となる、閾値tを二値化の閾値とすれば良い。 -|入力 (imori.jpg)|出力 (th = 127) (answer_4.jpg)| +|入力 (imori.jpg)|出力 (th = 127) (answers/answer_4.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_4.jpg)| +|![](imori.jpg)|![](answers/answer_4.jpg)| -答え >> [answer_4.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_4.py) +答え >> [answers/answer_4.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_4.py) ## Q.5. HSV変換 @@ -139,11 +139,11 @@ X = C (1 - |H' mod 2 - 1|) ``` ここでは色相Hを反転(180を加算)し、RGBに直し画像を表示せよ。 -|入力 (imori.jpg)|出力 (answer_5.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_5.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_5.jpg)| +|![](imori.jpg)|![](answers/answer_5.jpg)| -答え >> [answer_5.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_5.py) +答え >> [answers/answer_5.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_5.py) ## Q.6. 減色処理 @@ -157,11 +157,11 @@ val = { 32 ( 0 <= val < 64) 160 (128 <= val < 192) 224 (192 <= val < 256) ``` -|入力 (imori.jpg)|出力 (answer_6.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_6.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_6.jpg)| +|![](imori.jpg)|![](answers/answer_6.jpg)| -答え >> [answer_6.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_6.py) +答え >> [answers/answer_6.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_6.py) ## Q.7. 平均プーリング @@ -177,20 +177,20 @@ v = 1/|R| * Sum_{i in R} v_i ここではimori.jpgは128x128なので、8x8にグリッド分割し、平均プーリングせよ。 -|入力 (imori.jpg)|出力 (answer_7.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_7.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_7.jpg)| +|![](imori.jpg)|![](answers/answer_7.jpg)| -答え >> [answer_7.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_7.py) +答え >> [answers/answer_7.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_7.py) ## Q.8. Maxプーリング ここでは平均値でなく最大値でプーリングせよ。 -|入力 (imori.jpg)|出力 (answer_8.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_8.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_8.jpg)| +|![](imori.jpg)|![](answers/answer_8.jpg)| -答え >> [answer_8.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_8.py) +答え >> [answers/answer_8.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_8.py) ## Q.9. ガウシアンフィルタ @@ -214,11 +214,11 @@ K = 1/16 [ 2 4 2 ] 1 2 1 ``` -|入力 (imori_noise.jpg)|出力 (answer_9.jpg)| +|入力 (imori_noise.jpg)|出力 (answers/answer_9.jpg)| |:---:|:---:| -|![](imori_noise.jpg)|![](answer_9.jpg)| +|![](imori_noise.jpg)|![](answers/answer_9.jpg)| -答え >> [answer_9.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_9.py) +答え >> [answers/answer_9.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_9.py) ## Q.10 メディアンフィルタ @@ -229,8 +229,8 @@ K = 1/16 [ 2 4 2 ] これは注目画素の3x3の領域内の、メディアン値(中央値)を出力するフィルタである。 これもゼロパディングせよ。 -|入力 (imori_noise.jpg)|出力 (answer_10.jpg)| +|入力 (imori_noise.jpg)|出力 (answers/answer_10.jpg)| |:---:|:---:| -|![](imori_noise.jpg)|![](answer_10.jpg)| +|![](imori_noise.jpg)|![](answers/answer_10.jpg)| -答え >> [answer_10.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answer_10.py) +答え >> [answers/answer_10.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_01_10/answers/answer_10.py) diff --git a/Question_01_10/answer_1.jpg b/Question_01_10/answers/answer_1.jpg similarity index 100% rename from Question_01_10/answer_1.jpg rename to Question_01_10/answers/answer_1.jpg diff --git a/Question_01_10/answer_1.py b/Question_01_10/answers/answer_1.py similarity index 100% rename from Question_01_10/answer_1.py rename to Question_01_10/answers/answer_1.py diff --git a/Question_01_10/answer_10.jpg b/Question_01_10/answers/answer_10.jpg similarity index 100% rename from Question_01_10/answer_10.jpg rename to Question_01_10/answers/answer_10.jpg diff --git a/Question_01_10/answer_10.py b/Question_01_10/answers/answer_10.py similarity index 100% rename from Question_01_10/answer_10.py rename to Question_01_10/answers/answer_10.py diff --git a/Question_01_10/answer_2.jpg b/Question_01_10/answers/answer_2.jpg similarity index 100% rename from Question_01_10/answer_2.jpg rename to Question_01_10/answers/answer_2.jpg diff --git a/Question_01_10/answer_2.py b/Question_01_10/answers/answer_2.py similarity index 100% rename from Question_01_10/answer_2.py rename to Question_01_10/answers/answer_2.py diff --git a/Question_01_10/answer_3.jpg b/Question_01_10/answers/answer_3.jpg similarity index 100% rename from Question_01_10/answer_3.jpg rename to Question_01_10/answers/answer_3.jpg diff --git a/Question_01_10/answer_3.py b/Question_01_10/answers/answer_3.py similarity index 100% rename from Question_01_10/answer_3.py rename to Question_01_10/answers/answer_3.py diff --git a/Question_01_10/answer_4.jpg b/Question_01_10/answers/answer_4.jpg similarity index 100% rename from Question_01_10/answer_4.jpg rename to Question_01_10/answers/answer_4.jpg diff --git a/Question_01_10/answer_4.py b/Question_01_10/answers/answer_4.py similarity index 100% rename from Question_01_10/answer_4.py rename to Question_01_10/answers/answer_4.py diff --git a/Question_01_10/answer_5.jpg b/Question_01_10/answers/answer_5.jpg similarity index 100% rename from Question_01_10/answer_5.jpg rename to Question_01_10/answers/answer_5.jpg diff --git a/Question_01_10/answer_5.py b/Question_01_10/answers/answer_5.py similarity index 100% rename from Question_01_10/answer_5.py rename to Question_01_10/answers/answer_5.py diff --git a/Question_01_10/answer_6.jpg b/Question_01_10/answers/answer_6.jpg similarity index 100% rename from Question_01_10/answer_6.jpg rename to Question_01_10/answers/answer_6.jpg diff --git a/Question_01_10/answer_6.py b/Question_01_10/answers/answer_6.py similarity index 100% rename from Question_01_10/answer_6.py rename to Question_01_10/answers/answer_6.py diff --git a/Question_01_10/answer_7.jpg b/Question_01_10/answers/answer_7.jpg similarity index 100% rename from Question_01_10/answer_7.jpg rename to Question_01_10/answers/answer_7.jpg diff --git a/Question_01_10/answer_7.py b/Question_01_10/answers/answer_7.py similarity index 100% rename from Question_01_10/answer_7.py rename to Question_01_10/answers/answer_7.py diff --git a/Question_01_10/answer_8.jpg b/Question_01_10/answers/answer_8.jpg similarity index 100% rename from Question_01_10/answer_8.jpg rename to Question_01_10/answers/answer_8.jpg diff --git a/Question_01_10/answer_8.py b/Question_01_10/answers/answer_8.py similarity index 100% rename from Question_01_10/answer_8.py rename to Question_01_10/answers/answer_8.py diff --git a/Question_01_10/answer_9.jpg b/Question_01_10/answers/answer_9.jpg similarity index 100% rename from Question_01_10/answer_9.jpg rename to Question_01_10/answers/answer_9.jpg diff --git a/Question_01_10/answer_9.py b/Question_01_10/answers/answer_9.py similarity index 100% rename from Question_01_10/answer_9.py rename to Question_01_10/answers/answer_9.py diff --git a/Question_11_20/README.md b/Question_11_20/README.md index cb49874f..94e0d816 100644 --- a/Question_11_20/README.md +++ b/Question_11_20/README.md @@ -6,11 +6,11 @@ 平滑化フィルタはフィルタ内の画素の平均値を出力するフィルタである。 -|入力 (imori.jpg)|出力 (answer_11.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_11.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_11.jpg)| +|![](imori.jpg)|![](answers/answer_11.jpg)| -答え >> [answer_11.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_11.py) +答え >> [answers/answer_11.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_11.py) ## Q.12. モーションフィルタ @@ -25,11 +25,11 @@ 0 0 1/3 ``` -|入力 (imori.jpg)|出力 (answer_12.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_12.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_12.jpg)| +|![](imori.jpg)|![](answers/answer_12.jpg)| -答え >> [answer_12.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_12.py) +答え >> [answers/answer_12.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_12.py) ## Q.13. MAX-MINフィルタ @@ -39,11 +39,11 @@ MAX-MINフィルタとはフィルタ内の画素の最大値と最小値の差 エッジ検出とは画像内の線を検出るすることであり、このような画像内の情報を抜き出す操作を**特徴抽出**と呼ぶ。 エッジ検出では多くの場合、グレースケール画像に対してフィルタリングを行う。 -|入力 (imori.jpg)|出力 (answer_13.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_13.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_13.jpg)| +|![](imori.jpg)|![](answers/answer_13.jpg)| -答え >> [answer_13.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_13.py) +答え >> [answers/answer_13.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_13.py) ## Q.14. 微分フィルタ @@ -59,11 +59,11 @@ K = [ 0 1 0 ] K = [ -1 1 0 ] 0 0 0 0 0 0 ``` -|入力 (imori.jpg)|出力・縦方向 (answer_14_v.jpg)|出力・横方向 (answer_14_h.jpg)| +|入力 (imori.jpg)|出力・縦方向 (answers/answer_14_v.jpg)|出力・横方向 (answers/answer_14_h.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_14_v.jpg)|![](answer_14_h.jpg)| +|![](imori.jpg)|![](answers/answer_14_v.jpg)|![](answers/answer_14_h.jpg)| -答え >>[ answer_14.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_14.py) +答え >>[ answers/answer_14.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_14.py) ## Q.15. Sobelフィルタ @@ -78,11 +78,11 @@ K = [ 2 0 -2 ] K = [ 0 0 0 ] 1 0 -1 -1 -2 -1 ``` -|入力 (imori.jpg)|出力・縦方向 (answer_15_v.jpg)|出力・横方向 (answer_15_h.jpg)| +|入力 (imori.jpg)|出力・縦方向 (answers/answer_15_v.jpg)|出力・横方向 (answers/answer_15_h.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_15_v.jpg)|![](answer_15_h.jpg)| +|![](imori.jpg)|![](answers/answer_15_v.jpg)|![](answers/answer_15_h.jpg)| -答え >> [answer_15.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_15.py) +答え >> [answers/answer_15.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_15.py) ## Q.16. Prewittフィルタ @@ -97,11 +97,11 @@ K = [ 0 0 0 ] K = [ -1 0 1 ] 1 1 1 -1 0 1 ``` -|入力 (imori.jpg)|出力・縦方向 (answer_16_v.jpg)|出力・横方向 (answer_16_h.jpg)| +|入力 (imori.jpg)|出力・縦方向 (answers/answer_16_v.jpg)|出力・横方向 (answers/answer_16_h.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_16_v.jpg)|![](answer_16_h.jpg)| +|![](imori.jpg)|![](answers/answer_16_v.jpg)|![](answers/answer_16_h.jpg)| -答え >> [answer_16.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_16.py) +答え >> [answers/answer_16.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_16.py) ## Q.17. Laplacianフィルタ @@ -141,11 +141,11 @@ K = [ 1 -4 1 ] 0 1 0 ``` -|入力 (imori.jpg)|出力(answer_17.jpg)| +|入力 (imori.jpg)|出力(answers/answer_17.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_17.jpg)|| +|![](imori.jpg)|![](answers/answer_17.jpg)|| -答え >> [answer_17.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_17.py) +答え >> [answers/answer_17.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_17.py) ## Q.18. Embossフィルタ @@ -159,11 +159,11 @@ K = [ -1 1 1 ] 0 1 2 ``` -|入力 (imori.jpg)|出力(answer_18.jpg)| +|入力 (imori.jpg)|出力(answers/answer_18.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_18.jpg)| +|![](imori.jpg)|![](answers/answer_18.jpg)| -答え >> [answer_18.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_18.py) +答え >> [answers/answer_18.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_18.py) ## Q.19. LoGフィルタ @@ -179,11 +179,11 @@ LoGフィルタは次式で定義される。 LoG(x,y) = (x^2 + y^2 - s^2) / (2 * pi * s^6) * exp(-(x^2+y^2) / (2*s^2)) ``` -|入力 (imori_noise.jpg)|出力 (answer_19.jpg) | +|入力 (imori_noise.jpg)|出力 (answers/answer_19.jpg) | |:---:|:---:| -|![](imori_noise.jpg)|![](answer_19.jpg)| +|![](imori_noise.jpg)|![](answers/answer_19.jpg)| -答え >> [answer_19.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_19.py) +答え >> [answers/answer_19.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_19.py) ## Q.20. ヒストグラム表示 @@ -192,9 +192,9 @@ matplotlibを用いて*imori_dark.jpg*のヒストグラムを表示せよ。 ヒストグラムとは画素の出現回数をグラフにしたものである。 matplotlibではhist()という関数がすでにあるので、それを利用する。 -|入力 (imori_dark.jpg)|出力 (answer_20.png) | +|入力 (imori_dark.jpg)|出力 (answers/answer_20.png) | |:---:|:---:| -|![](imori_dark.jpg)|![](answer_20.png)| +|![](imori_dark.jpg)|![](answers/answer_20.png)| -答え >> [answer_20.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answer_20.py) +答え >> [answers/answer_20.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_11_20/answers/answer_20.py) diff --git a/Question_11_20/answer_11.jpg b/Question_11_20/answers/answer_11.jpg similarity index 100% rename from Question_11_20/answer_11.jpg rename to Question_11_20/answers/answer_11.jpg diff --git a/Question_11_20/answer_11.py b/Question_11_20/answers/answer_11.py similarity index 100% rename from Question_11_20/answer_11.py rename to Question_11_20/answers/answer_11.py diff --git a/Question_11_20/answer_12.jpg b/Question_11_20/answers/answer_12.jpg similarity index 100% rename from Question_11_20/answer_12.jpg rename to Question_11_20/answers/answer_12.jpg diff --git a/Question_11_20/answer_12.py b/Question_11_20/answers/answer_12.py similarity index 100% rename from Question_11_20/answer_12.py rename to Question_11_20/answers/answer_12.py diff --git a/Question_11_20/answer_13.jpg b/Question_11_20/answers/answer_13.jpg similarity index 100% rename from Question_11_20/answer_13.jpg rename to Question_11_20/answers/answer_13.jpg diff --git a/Question_11_20/answer_13.py b/Question_11_20/answers/answer_13.py similarity index 100% rename from Question_11_20/answer_13.py rename to Question_11_20/answers/answer_13.py diff --git a/Question_11_20/answer_14.py b/Question_11_20/answers/answer_14.py similarity index 100% rename from Question_11_20/answer_14.py rename to Question_11_20/answers/answer_14.py diff --git a/Question_11_20/answer_14_h.jpg b/Question_11_20/answers/answer_14_h.jpg similarity index 100% rename from Question_11_20/answer_14_h.jpg rename to Question_11_20/answers/answer_14_h.jpg diff --git a/Question_11_20/answer_14_v.jpg b/Question_11_20/answers/answer_14_v.jpg similarity index 100% rename from Question_11_20/answer_14_v.jpg rename to Question_11_20/answers/answer_14_v.jpg diff --git a/Question_11_20/answer_15.py b/Question_11_20/answers/answer_15.py similarity index 100% rename from Question_11_20/answer_15.py rename to Question_11_20/answers/answer_15.py diff --git a/Question_11_20/answer_15_h.jpg b/Question_11_20/answers/answer_15_h.jpg similarity index 100% rename from Question_11_20/answer_15_h.jpg rename to Question_11_20/answers/answer_15_h.jpg diff --git a/Question_11_20/answer_15_v.jpg b/Question_11_20/answers/answer_15_v.jpg similarity index 100% rename from Question_11_20/answer_15_v.jpg rename to Question_11_20/answers/answer_15_v.jpg diff --git a/Question_11_20/answer_16.py b/Question_11_20/answers/answer_16.py similarity index 100% rename from Question_11_20/answer_16.py rename to Question_11_20/answers/answer_16.py diff --git a/Question_11_20/answer_16_h.jpg b/Question_11_20/answers/answer_16_h.jpg similarity index 100% rename from Question_11_20/answer_16_h.jpg rename to Question_11_20/answers/answer_16_h.jpg diff --git a/Question_11_20/answer_16_v.jpg b/Question_11_20/answers/answer_16_v.jpg similarity index 100% rename from Question_11_20/answer_16_v.jpg rename to Question_11_20/answers/answer_16_v.jpg diff --git a/Question_11_20/answer_17.jpg b/Question_11_20/answers/answer_17.jpg similarity index 100% rename from Question_11_20/answer_17.jpg rename to Question_11_20/answers/answer_17.jpg diff --git a/Question_11_20/answer_17.py b/Question_11_20/answers/answer_17.py similarity index 100% rename from Question_11_20/answer_17.py rename to Question_11_20/answers/answer_17.py diff --git a/Question_11_20/answer_18.jpg b/Question_11_20/answers/answer_18.jpg similarity index 100% rename from Question_11_20/answer_18.jpg rename to Question_11_20/answers/answer_18.jpg diff --git a/Question_11_20/answer_18.py b/Question_11_20/answers/answer_18.py similarity index 100% rename from Question_11_20/answer_18.py rename to Question_11_20/answers/answer_18.py diff --git a/Question_11_20/answer_19.jpg b/Question_11_20/answers/answer_19.jpg similarity index 100% rename from Question_11_20/answer_19.jpg rename to Question_11_20/answers/answer_19.jpg diff --git a/Question_11_20/answer_19.py b/Question_11_20/answers/answer_19.py similarity index 100% rename from Question_11_20/answer_19.py rename to Question_11_20/answers/answer_19.py diff --git a/Question_11_20/answer_20.png b/Question_11_20/answers/answer_20.png similarity index 100% rename from Question_11_20/answer_20.png rename to Question_11_20/answers/answer_20.png diff --git a/Question_11_20/answer_20.py b/Question_11_20/answers/answer_20.py similarity index 100% rename from Question_11_20/answer_20.py rename to Question_11_20/answers/answer_20.py diff --git a/Question_21_30/README.md b/Question_21_30/README.md index c79cfe25..d2f44027 100644 --- a/Question_21_30/README.md +++ b/Question_21_30/README.md @@ -19,11 +19,11 @@ xout = { a (xin < c) b (d < xin) ``` -|入力 (imori_dark.jpg)|出力 (answer_21_1.jpg) |ヒストグラム(answer_21_2.png)| +|入力 (imori_dark.jpg)|出力 (answers/answer_21_1.jpg) |ヒストグラム(answers/answer_21_2.png)| |:---:|:---:|:---:| -|![](imori_dark.jpg)|![](answer_21_1.jpg)|![](answer_21_2.png)| +|![](imori_dark.jpg)|![](answers/answer_21_1.jpg)|![](answers/answer_21_2.png)| -答え >> [answer_21.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_21.py) +答え >> [answers/answer_21.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_21.py) ## Q.22. ヒストグラム操作 @@ -37,11 +37,11 @@ xout = { a (xin < c) xout = s0 / s * (xin - m) + m0 ``` -|入力 (imori_dark.jpg)|出力 (answer_22_1.jpg) |ヒストグラム(answer_22_2.png)| +|入力 (imori_dark.jpg)|出力 (answers/answer_22_1.jpg) |ヒストグラム(answers/answer_22_2.png)| |:---:|:---:|:---:| -|![](imori_dark.jpg)|![](answer_22_1.jpg)|![](answer_22_2.png)| +|![](imori_dark.jpg)|![](answers/answer_22_1.jpg)|![](answers/answer_22_2.png)| -答え >> [answer_22.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_22.py) +答え >> [answers/answer_22.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_22.py) ## Q.23. ヒストグラム平坦化 @@ -56,11 +56,11 @@ xout = s0 / s * (xin - m) + m0 Z' = Zmax / S * Sum{i=0:z} h(z) ``` -|入力 (imori.jpg)|出力 (answer_23_1.jpg) |ヒストグラム(answer_23_2.png)| +|入力 (imori.jpg)|出力 (answers/answer_23_1.jpg) |ヒストグラム(answers/answer_23_2.png)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_23_1.jpg)|![](answer_23_2.png)| +|![](imori.jpg)|![](answers/answer_23_1.jpg)|![](answers/answer_23_2.png)| -答え >> [answer_23.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_23.py) +答え >> [answers/answer_23.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_23.py) ## Q.24. ガンマ補正 @@ -86,11 +86,11 @@ Iout = (1/c * Iin) ^ (1/g) ![](question_24_1.jpg) ![](question_24_2.jpg) -|入力 (imori_gamma.jpg)|出力 (answer_24.jpg)| +|入力 (imori_gamma.jpg)|出力 (answers/answer_24.jpg)| |:---:|:---:| -|![](imori_gamma.jpg)|![](answer_24.jpg)| +|![](imori_gamma.jpg)|![](answers/answer_24.jpg)| -答え >> [answer_24.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_24.py) +答え >> [answers/answer_24.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_24.py) ## Q.25. 最近傍補間 @@ -106,11 +106,11 @@ I' ... 拡大後の画像、 I ... 拡大前の画像、a ... 拡大率、[ ] .. ```bash I'(x,y) = I([x/a], [y/a]) ``` -|入力 (imori.jpg)|出力 (answer_25.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_25.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_25.jpg)| +|![](imori.jpg)|![](answers/answer_25.jpg)| -答え >> [answer_25.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_25.py) +答え >> [answers/answer_25.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_25.py) ## Q.26. Bi-linear補間 @@ -135,11 +135,11 @@ dx = x'/a - x , dy = y'/a - y I'(x',y') = (1-dx)(1-dy)I(x,y) + dx(1-dy)I(x+1,y) + (1-dx)dyI(x,y+1) + dxdyI(x+1,y+1) ``` -|入力 (imori.jpg)|出力 (answer_26.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_26.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_26.jpg)| +|![](imori.jpg)|![](answers/answer_26.jpg)| -答え >> [answer_26.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_26.py) +答え >> [answers/answer_26.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_26.py) ## Q.27. Bi-cubic補間 @@ -177,11 +177,11 @@ h(t) = { (a+2)|t|^3 - (a+3)|t|^2 + 1 (when |t|<=1) I'(x', y') = (Sum{i=-1:2}{j=-1:2} I(x+i,y+j) * wxi * wyj) / Sum{i=-1:2}{j=-1:2} wxi * wyj ``` -|入力 (imori.jpg)|出力 (answer_27.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_27.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_27.jpg)| +|![](imori.jpg)|![](answers/answer_27.jpg)| -答え >> [answer_27.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_27.py) +答え >> [answers/answer_27.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_27.py) ## Q.28. アフィン変換(平行移動) @@ -222,11 +222,11 @@ I'(x', y') = (Sum{i=-1:2}{j=-1:2} I(x+i,y+j) * wxi * wyj) / Sum{i=-1:2}{j=-1:2} 1 0 0 1 1 ``` -|入力 (imori.jpg)|出力 (answer_28.jpg)| +|入力 (imori.jpg)|出力 (answers/answer_28.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_28.jpg)| +|![](imori.jpg)|![](answers/answer_28.jpg)| -答え >> [answer_28.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_28.py) +答え >> [answers/answer_28.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_28.py) ## Q.29. アフィン変換(拡大縮小) @@ -234,11 +234,11 @@ I'(x', y') = (Sum{i=-1:2}{j=-1:2} I(x+i,y+j) * wxi * wyj) / Sum{i=-1:2}{j=-1:2} また、(2) (1)の条件に加えて、x方向に+30、y方向に-30だけ平行移動を同時に実現せよ。 -|入力 (imori.jpg)|出力 (1) (answer_29_1.jpg)|出力 (2) (answer_29_2.jpg)| +|入力 (imori.jpg)|出力 (1) (answers/answer_29_1.jpg)|出力 (2) (answers/answer_29_2.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_29_1.jpg)|![](answer_29_2.jpg)| +|![](imori.jpg)|![](answers/answer_29_1.jpg)|![](answers/answer_29_2.jpg)| -答え >> [answer_29.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_29.py) +答え >> [answers/answer_29.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_29.py) ## Q.30. アフィン変換(回転) @@ -255,8 +255,8 @@ I'(x', y') = (Sum{i=-1:2}{j=-1:2} I(x+i,y+j) * wxi * wyj) / Sum{i=-1:2}{j=-1:2} 1 0 0 1 1 ``` -|入力 (imori.jpg)|出力 (1) (answer_30_1.jpg)|出力 (2) (answer_30_2.jpg)| +|入力 (imori.jpg)|出力 (1) (answers/answer_30_1.jpg)|出力 (2) (answers/answer_30_2.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_30_1.jpg)|![](answer_30_2.jpg)| +|![](imori.jpg)|![](answers/answer_30_1.jpg)|![](answers/answer_30_2.jpg)| -答え >> [answer_30_1.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_30_1.py) , [answer_30_2.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answer_30_2.py) +答え >> [answers/answer_30_1.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_30_1.py) , [answers/answer_30_2.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_21_30/answers/answer_30_2.py) diff --git a/Question_21_30/answer_21.py b/Question_21_30/answers/answer_21.py similarity index 100% rename from Question_21_30/answer_21.py rename to Question_21_30/answers/answer_21.py diff --git a/Question_21_30/answer_21_1.jpg b/Question_21_30/answers/answer_21_1.jpg similarity index 100% rename from Question_21_30/answer_21_1.jpg rename to Question_21_30/answers/answer_21_1.jpg diff --git a/Question_21_30/answer_21_2.png b/Question_21_30/answers/answer_21_2.png similarity index 100% rename from Question_21_30/answer_21_2.png rename to Question_21_30/answers/answer_21_2.png diff --git a/Question_21_30/answer_22.py b/Question_21_30/answers/answer_22.py similarity index 100% rename from Question_21_30/answer_22.py rename to Question_21_30/answers/answer_22.py diff --git a/Question_21_30/answer_22_1.jpg b/Question_21_30/answers/answer_22_1.jpg similarity index 100% rename from Question_21_30/answer_22_1.jpg rename to Question_21_30/answers/answer_22_1.jpg diff --git a/Question_21_30/answer_22_2.png b/Question_21_30/answers/answer_22_2.png similarity index 100% rename from Question_21_30/answer_22_2.png rename to Question_21_30/answers/answer_22_2.png diff --git a/Question_21_30/answer_23.py b/Question_21_30/answers/answer_23.py similarity index 100% rename from Question_21_30/answer_23.py rename to Question_21_30/answers/answer_23.py diff --git a/Question_21_30/answer_23_1.jpg b/Question_21_30/answers/answer_23_1.jpg similarity index 100% rename from Question_21_30/answer_23_1.jpg rename to Question_21_30/answers/answer_23_1.jpg diff --git a/Question_21_30/answer_23_2.png b/Question_21_30/answers/answer_23_2.png similarity index 100% rename from Question_21_30/answer_23_2.png rename to Question_21_30/answers/answer_23_2.png diff --git a/Question_21_30/answer_24.jpg b/Question_21_30/answers/answer_24.jpg similarity index 100% rename from Question_21_30/answer_24.jpg rename to Question_21_30/answers/answer_24.jpg diff --git a/Question_21_30/answer_24.py b/Question_21_30/answers/answer_24.py similarity index 100% rename from Question_21_30/answer_24.py rename to Question_21_30/answers/answer_24.py diff --git a/Question_21_30/answer_25.jpg b/Question_21_30/answers/answer_25.jpg similarity index 100% rename from Question_21_30/answer_25.jpg rename to Question_21_30/answers/answer_25.jpg diff --git a/Question_21_30/answer_25.py b/Question_21_30/answers/answer_25.py similarity index 100% rename from Question_21_30/answer_25.py rename to Question_21_30/answers/answer_25.py diff --git a/Question_21_30/answer_26.jpg b/Question_21_30/answers/answer_26.jpg similarity index 100% rename from Question_21_30/answer_26.jpg rename to Question_21_30/answers/answer_26.jpg diff --git a/Question_21_30/answer_26.py b/Question_21_30/answers/answer_26.py similarity index 100% rename from Question_21_30/answer_26.py rename to Question_21_30/answers/answer_26.py diff --git a/Question_21_30/answer_27.jpg b/Question_21_30/answers/answer_27.jpg similarity index 100% rename from Question_21_30/answer_27.jpg rename to Question_21_30/answers/answer_27.jpg diff --git a/Question_21_30/answer_27.py b/Question_21_30/answers/answer_27.py similarity index 100% rename from Question_21_30/answer_27.py rename to Question_21_30/answers/answer_27.py diff --git a/Question_21_30/answer_28.jpg b/Question_21_30/answers/answer_28.jpg similarity index 100% rename from Question_21_30/answer_28.jpg rename to Question_21_30/answers/answer_28.jpg diff --git a/Question_21_30/answer_28.py b/Question_21_30/answers/answer_28.py similarity index 100% rename from Question_21_30/answer_28.py rename to Question_21_30/answers/answer_28.py diff --git a/Question_21_30/answer_29.py b/Question_21_30/answers/answer_29.py similarity index 100% rename from Question_21_30/answer_29.py rename to Question_21_30/answers/answer_29.py diff --git a/Question_21_30/answer_29_1.jpg b/Question_21_30/answers/answer_29_1.jpg similarity index 100% rename from Question_21_30/answer_29_1.jpg rename to Question_21_30/answers/answer_29_1.jpg diff --git a/Question_21_30/answer_29_2.jpg b/Question_21_30/answers/answer_29_2.jpg similarity index 100% rename from Question_21_30/answer_29_2.jpg rename to Question_21_30/answers/answer_29_2.jpg diff --git a/Question_21_30/answer_30_1.jpg b/Question_21_30/answers/answer_30_1.jpg similarity index 100% rename from Question_21_30/answer_30_1.jpg rename to Question_21_30/answers/answer_30_1.jpg diff --git a/Question_21_30/answer_30_1.py b/Question_21_30/answers/answer_30_1.py similarity index 100% rename from Question_21_30/answer_30_1.py rename to Question_21_30/answers/answer_30_1.py diff --git a/Question_21_30/answer_30_2.jpg b/Question_21_30/answers/answer_30_2.jpg similarity index 100% rename from Question_21_30/answer_30_2.jpg rename to Question_21_30/answers/answer_30_2.jpg diff --git a/Question_21_30/answer_30_2.py b/Question_21_30/answers/answer_30_2.py similarity index 100% rename from Question_21_30/answer_30_2.py rename to Question_21_30/answers/answer_30_2.py diff --git a/Question_31_40/README.md b/Question_31_40/README.md index ddbac780..3d032d3d 100644 --- a/Question_31_40/README.md +++ b/Question_31_40/README.md @@ -26,11 +26,11 @@ 1 0 0 1 1 1 0 0 1 1 ``` -|入力 (imori.jpg)|出力 (1) (answer_31_1.jpg)|出力 (2) (answer_31_2.jpg)|出力 (3) (answer_31_3.jpg)| +|入力 (imori.jpg)|出力 (1) (answers/answer_31_1.jpg)|出力 (2) (answers/answer_31_2.jpg)|出力 (3) (answers/answer_31_3.jpg)| |:---:|:---:|:---:|:---:| -|![](imori.jpg)|![](answer_31_1.jpg)|![](answer_31_2.jpg)|![](answer_31_3.jpg)| +|![](imori.jpg)|![](answers/answer_31_1.jpg)|![](answers/answer_31_2.jpg)|![](answers/answer_31_3.jpg)| -答え >> [answer_31.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_31.py) +答え >> [answers/answer_31.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_31.py) ## Q.32. フーリエ変換 @@ -62,11 +62,11 @@ x = 0:W, y = 0:H として I(x,y) = Sum_{l=0:H-1, k=0:W-1} G(k,l) exp( 2pi * j * (kx/W + ly/H)) / sqrt(H * W) ``` -|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (answer_32.jpg)|パワースペクトル (answer_32_ps.py) +|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (answers/answer_32.jpg)|パワースペクトル (answers/answer_32_ps.py) |:---:|:---:|:---:|:---:| -|![](imori.jpg)|![](imori_gray.jpg)|![](answer_32.jpg)|![](answer_32_ps.jpg)| +|![](imori.jpg)|![](imori_gray.jpg)|![](answers/answer_32.jpg)|![](answers/answer_32_ps.jpg)| -答え >> [answer_32.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_32.py) +答え >> [answers/answer_32.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_32.py) ## Q.33. フーリエ変換 ローパスフィルタ @@ -79,11 +79,11 @@ DFTによって得られた周波数成分は左上、右上、左下、右下 ここでは低周波数の中心から高周波までの距離をrとすると0.5rまでの成分を通すとする。 -|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (answer_33.jpg)| +|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (answers/answer_33.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_gray.jpg)|![](answer_33.jpg)| +|![](imori.jpg)|![](imori_gray.jpg)|![](answers/answer_33.jpg)| -答え >> [answer_33.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_33.py) +答え >> [answers/answer_33.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_33.py) ## Q.34. フーリエ変換 ハイパスフィルタ @@ -93,11 +93,11 @@ DFTによって得られた周波数成分は左上、右上、左下、右下 ここでは低周波数の中心から高周波までの距離をrとすると0.2rからの成分を通すとする。 -|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (answer_34.jpg)| +|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (answers/answer_34.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_gray.jpg)|![](answer_34.jpg)| +|![](imori.jpg)|![](imori_gray.jpg)|![](answers/answer_34.jpg)| -答え >> [answer_34.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_34.py) +答え >> [answers/answer_34.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_34.py) ## Q.35. フーリエ変換 バンドパスフィルタ @@ -107,11 +107,11 @@ DFTによって得られた周波数成分は左上、右上、左下、右下 ここでは低周波数の中心から高周波までの距離をrとすると0.1rから0.5rまでの成分を通すとする。 -|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (answer_35.jpg)| +|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (answers/answer_35.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_gray.jpg)|![](answer_35.jpg)| +|![](imori.jpg)|![](imori_gray.jpg)|![](answers/answer_35.jpg)| -答え >> [answer_35.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_35.py) +答え >> [answers/answer_35.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_35.py) ## Q.36. JPEG圧縮 (Step.1)離散コサイン変換 @@ -133,11 +133,11 @@ f(x,y) = 1 / T * C(x)C(y) * Sum_{u=0:T-1} Sum_{v=0:T-1} F(u,v) cos((2x+1)u*pi/2T ここでは画像を8x8ずつの領域に分割して、各領域で以上のDCT, IDCTを繰り返すことで、jpeg符号に応用される。 今回も同様に8x8の領域に分割して、DCT, IDCTを行え。 -|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (1) (answer_36.jpg)| +|入力 (imori.jpg)|グレースケール (imori_gray.jpg)|出力 (1) (answers/answer_36.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_gray.jpg)|![](answer_36.jpg)| +|![](imori.jpg)|![](imori_gray.jpg)|![](answers/answer_36.jpg)| -答え >> [answer_36.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_36.py) +答え >> [answers/answer_36.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_36.py) ## Q.37. PSNR @@ -162,11 +162,11 @@ MSE = Sum_{y=0:H-1} Sum_{x=0:W-1} (I1(x,y) - I2(x,y))^2 / (HW) bitrate = 8 * K^2 / 8^2 ``` -|入力 (imori.jpg)|グレースケール|出力 (answer_37.jpg) (PSNR = 27.62, Bitrate=2.0)| +|入力 (imori.jpg)|グレースケール|出力 (answers/answer_37.jpg) (PSNR = 27.62, Bitrate=2.0)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_gray.jpg)|![](answer_37.jpg)| +|![](imori.jpg)|![](imori_gray.jpg)|![](answers/answer_37.jpg)| -答え >> [answer_37.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_37.py) +答え >> [answers/answer_37.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_37.py) ## Q.38. JPEG圧縮 (Step.2)DCT+量子化| @@ -194,11 +194,11 @@ Q = np.array(((16, 11, 10, 16, 24, 40, 51, 61), 量子化を行うと画像の容量が減っていることから、データ量が削減されたことが伺える。 -|入力 (imori.jpg)|グレースケール(9kb)|出力 (answer_38.jpg) (7kb)| +|入力 (imori.jpg)|グレースケール(9kb)|出力 (answers/answer_38.jpg) (7kb)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_gray.jpg)|![](answer_38.jpg)| +|![](imori.jpg)|![](imori_gray.jpg)|![](answers/answer_38.jpg)| -答え >> [answer_38.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_38.py) +答え >> [answers/answer_38.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_38.py) ## Q.39. JPEG圧縮 (Step.3)YCbCr表色系 @@ -224,11 +224,11 @@ G = Y - (Cb - 128) * 0.3441 - (Cr - 128) * 0.7139 B = Y + (Cb - 128) * 1.7718 ``` -|入力 (imori.jpg)|出力 (answer_39.jpg) | +|入力 (imori.jpg)|出力 (answers/answer_39.jpg) | |:---:|:---:| -|![](imori.jpg)|![](answer_39.jpg)| +|![](imori.jpg)|![](answers/answer_39.jpg)| -答え >> [answer_39.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_39.py) +答え >> [answers/answer_39.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_39.py) ## Q.40. JPEG圧縮 (Step.4)YCbCr+DCT+量子化 @@ -257,9 +257,9 @@ Q2 = np.array(((17, 18, 24, 47, 99, 99, 99, 99), (99, 99, 99, 99, 99, 99, 99, 99)), dtype=np.float32) ``` -|入力 (imori.jpg) (13kb)|出力 (answer_40.jpg) (8kb)| +|入力 (imori.jpg) (13kb)|出力 (answers/answer_40.jpg) (8kb)| |:---:|:---:| -|![](imori.jpg)|![](answer_40.jpg)| +|![](imori.jpg)|![](answers/answer_40.jpg)| -答え >> [answer_40.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answer_40.py) +答え >> [answers/answer_40.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_31_40/answers/answer_40.py) diff --git a/Question_31_40/answer_31.py b/Question_31_40/answers/answer_31.py similarity index 100% rename from Question_31_40/answer_31.py rename to Question_31_40/answers/answer_31.py diff --git a/Question_31_40/answer_31_1.jpg b/Question_31_40/answers/answer_31_1.jpg similarity index 100% rename from Question_31_40/answer_31_1.jpg rename to Question_31_40/answers/answer_31_1.jpg diff --git a/Question_31_40/answer_31_2.jpg b/Question_31_40/answers/answer_31_2.jpg similarity index 100% rename from Question_31_40/answer_31_2.jpg rename to Question_31_40/answers/answer_31_2.jpg diff --git a/Question_31_40/answer_31_3.jpg b/Question_31_40/answers/answer_31_3.jpg similarity index 100% rename from Question_31_40/answer_31_3.jpg rename to Question_31_40/answers/answer_31_3.jpg diff --git a/Question_31_40/answer_32.jpg b/Question_31_40/answers/answer_32.jpg similarity index 100% rename from Question_31_40/answer_32.jpg rename to Question_31_40/answers/answer_32.jpg diff --git a/Question_31_40/answer_32.py b/Question_31_40/answers/answer_32.py similarity index 100% rename from Question_31_40/answer_32.py rename to Question_31_40/answers/answer_32.py diff --git a/Question_31_40/answer_32_ps.jpg b/Question_31_40/answers/answer_32_ps.jpg similarity index 100% rename from Question_31_40/answer_32_ps.jpg rename to Question_31_40/answers/answer_32_ps.jpg diff --git a/Question_31_40/answer_33.jpg b/Question_31_40/answers/answer_33.jpg similarity index 100% rename from Question_31_40/answer_33.jpg rename to Question_31_40/answers/answer_33.jpg diff --git a/Question_31_40/answer_33.py b/Question_31_40/answers/answer_33.py similarity index 100% rename from Question_31_40/answer_33.py rename to Question_31_40/answers/answer_33.py diff --git a/Question_31_40/answer_34.jpg b/Question_31_40/answers/answer_34.jpg similarity index 100% rename from Question_31_40/answer_34.jpg rename to Question_31_40/answers/answer_34.jpg diff --git a/Question_31_40/answer_34.py b/Question_31_40/answers/answer_34.py similarity index 100% rename from Question_31_40/answer_34.py rename to Question_31_40/answers/answer_34.py diff --git a/Question_31_40/answer_35.jpg b/Question_31_40/answers/answer_35.jpg similarity index 100% rename from Question_31_40/answer_35.jpg rename to Question_31_40/answers/answer_35.jpg diff --git a/Question_31_40/answer_35.py b/Question_31_40/answers/answer_35.py similarity index 100% rename from Question_31_40/answer_35.py rename to Question_31_40/answers/answer_35.py diff --git a/Question_31_40/answer_36.jpg b/Question_31_40/answers/answer_36.jpg similarity index 100% rename from Question_31_40/answer_36.jpg rename to Question_31_40/answers/answer_36.jpg diff --git a/Question_31_40/answer_36.py b/Question_31_40/answers/answer_36.py similarity index 100% rename from Question_31_40/answer_36.py rename to Question_31_40/answers/answer_36.py diff --git a/Question_31_40/answer_37.jpg b/Question_31_40/answers/answer_37.jpg similarity index 100% rename from Question_31_40/answer_37.jpg rename to Question_31_40/answers/answer_37.jpg diff --git a/Question_31_40/answer_37.py b/Question_31_40/answers/answer_37.py similarity index 100% rename from Question_31_40/answer_37.py rename to Question_31_40/answers/answer_37.py diff --git a/Question_31_40/answer_38.jpg b/Question_31_40/answers/answer_38.jpg similarity index 100% rename from Question_31_40/answer_38.jpg rename to Question_31_40/answers/answer_38.jpg diff --git a/Question_31_40/answer_38.py b/Question_31_40/answers/answer_38.py similarity index 100% rename from Question_31_40/answer_38.py rename to Question_31_40/answers/answer_38.py diff --git a/Question_31_40/answer_39.jpg b/Question_31_40/answers/answer_39.jpg similarity index 100% rename from Question_31_40/answer_39.jpg rename to Question_31_40/answers/answer_39.jpg diff --git a/Question_31_40/answer_39.py b/Question_31_40/answers/answer_39.py similarity index 100% rename from Question_31_40/answer_39.py rename to Question_31_40/answers/answer_39.py diff --git a/Question_31_40/answer_40.jpg b/Question_31_40/answers/answer_40.jpg similarity index 100% rename from Question_31_40/answer_40.jpg rename to Question_31_40/answers/answer_40.jpg diff --git a/Question_31_40/answer_40.py b/Question_31_40/answers/answer_40.py similarity index 100% rename from Question_31_40/answer_40.py rename to Question_31_40/answers/answer_40.py diff --git a/Question_41_50/README.md b/Question_41_50/README.md index 9853a4fa..6dab8751 100644 --- a/Question_41_50/README.md +++ b/Question_41_50/README.md @@ -35,11 +35,11 @@ angle = { 0 (if -0.4142 < tan <= 0.4142) ただし、フィルタリングをパディングする際は、numpy.pad()を用いて、エッジの値でパディングせよ。 -|入力 (imori.jpg) |出力(勾配強度) (answer_41_1.jpg)|出力(勾配角度) (answer_41_2.jpg)| +|入力 (imori.jpg) |出力(勾配強度) (answers/answer_41_1.jpg)|出力(勾配角度) (answers/answer_41_2.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_41_1.jpg)|![](answer_41_2.jpg)| +|![](imori.jpg)|![](answers/answer_41_1.jpg)|![](answers/answer_41_2.jpg)| -答え >> [answer_41.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_41.py) +答え >> [answers/answer_41.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_41.py) ## Q.42. Cannyエッジ検出 (Step.2) 細線化 @@ -68,11 +68,11 @@ if angle(x,y) = 135 then edge(x,y) = 0 ``` -|入力 (imori.jpg) |出力 (answer_42.jpg)| +|入力 (imori.jpg) |出力 (answers/answer_42.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_42.jpg)| +|![](imori.jpg)|![](answers/answer_42.jpg)| -答え >> [answer_42.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_42.py) +答え >> [answers/answer_42.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_42.py) ## Q.43. Cannyエッジ検出 (Step.3) ヒステリシス閾処理 @@ -89,11 +89,11 @@ if angle(x,y) = 135 以上のアルゴリズムによって、Canny法が行われる。 -|入力 (imori.jpg) |出力 (answer_43.jpg)| +|入力 (imori.jpg) |出力 (answers/answer_43.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_43.jpg)| +|![](imori.jpg)|![](answers/answer_43.jpg)| -答え >> [answer_43.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_43.py) +答え >> [answers/answer_43.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_43.py) ## Q.44. Hough変換・直線検出 (Step.1) Hough変換 @@ -127,11 +127,11 @@ r = x * cos(t) + y * sin(t) 今回は*torino.jpg*を用いて、ボーディングした表を図示せよ。 Cannyのパラメータは, gaussian filter(5x5, s=1.4), HT = 100, LT = 30で使用せよ。 -|入力 (thorino.jpg) |出力 (answer_44.jpg)| +|入力 (thorino.jpg) |出力 (answers/answer_44.jpg)| |:---:|:---:| -|![](thorino.jpg)|![](answer_44.jpg)| +|![](thorino.jpg)|![](answers/answer_44.jpg)| -答え >> [answer_44.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_44.py) +答え >> [answers/answer_44.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_44.py) ## Q.45. Hough変換・直線検出 (Step.2) NMS @@ -146,11 +146,11 @@ NMSのアルゴリズムは、 1. 表において、周囲8マス(8近傍)より注目ピクセルの得票数が多ければそのまま。 2. 注目ピクセルの値が少なければ0にする。 -|入力 (thorino.jpg) |出力 (answer_45.jpg)| +|入力 (thorino.jpg) |出力 (answers/answer_45.jpg)| |:---:|:---:| -|![](thorino.jpg)|![](answer_45.jpg)| +|![](thorino.jpg)|![](answers/answer_45.jpg)| -答え >> [answer_45.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_45.py) +答え >> [answers/answer_45.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_45.py) ## Q.46. Hough変換・直線検出 (Step.3) Hough逆変換 @@ -167,11 +167,11 @@ x = - sin(t) / cos(t) * y + r / cos(t) 2. 1の逆変換を極大点ごとにy = 0 - H-1, x = 0 - W-1 で行い、入力画像に検出した直線を描画せよ。 ただし、描画するのは赤線(R,G,B) = (255, 0, 0)とする。 -|入力 (thorino.jpg) |出力 (answer_46.jpg)| +|入力 (thorino.jpg) |出力 (answers/answer_46.jpg)| |:---:|:---:| -|![](thorino.jpg)|![](answer_46.jpg)| +|![](thorino.jpg)|![](answers/answer_46.jpg)| -答え >> [answer_46.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_46.py) +答え >> [answers/answer_46.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_46.py) ## Q.47. モルフォロジー処理(膨張) @@ -189,11 +189,11 @@ x = - sin(t) / cos(t) * y + r / cos(t) 例えば、[[0,1,0], [1,0,1], [0,1,0]] のフィルタを掛けた和が255を超えれば膨張である、と考える。 -|入力 (imori.jpg) |大津の二値化(answer_4.jpg)|出力 (answer_47.jpg)| +|入力 (imori.jpg) |大津の二値化(answers/answer_4.jpg)|出力 (answers/answer_47.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_4.jpg)|![](answer_47.jpg)| +|![](imori.jpg)|![](answers/answer_4.jpg)|![](answers/answer_47.jpg)| -答え >> [answer_47.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_47.py) +答え >> [answers/answer_47.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_47.py) ## Q.48. モルフォロジー処理(収縮) @@ -204,11 +204,11 @@ x = - sin(t) / cos(t) * y + r / cos(t) 例えば、[[0,1,0], [1,0,1], [0,1,0]] のフィルタを掛けた和が255*4未満なら収縮である、と考える。 -|入力 (imori.jpg) |大津の二値化(answer_4.jpg)|出力 (answer_48.jpg)| +|入力 (imori.jpg) |大津の二値化(answers/answer_4.jpg)|出力 (answers/answer_48.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_4.jpg)|![](answer_48.jpg)| +|![](imori.jpg)|![](answers/answer_4.jpg)|![](answers/answer_48.jpg)| -答え >> [answer_48.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_48.py) +答え >> [answers/answer_48.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_48.py) ## Q.49. オープニング処理 @@ -218,11 +218,11 @@ x = - sin(t) / cos(t) * y + r / cos(t) クロージング処理により、一つだけ余分に存在する画素などを削除できる。 -|入力 (imori.jpg) |大津の二値化(answer_4.jpg)|出力 (answer_49.jpg)| +|入力 (imori.jpg) |大津の二値化(answers/answer_4.jpg)|出力 (answers/answer_49.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_4.jpg)|![](answer_49.jpg)| +|![](imori.jpg)|![](answers/answer_4.jpg)|![](answers/answer_49.jpg)| -答え >> [answer_49.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_49.py) +答え >> [answers/answer_49.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_49.py) ## Q.50. クロージング処理 @@ -232,8 +232,8 @@ x = - sin(t) / cos(t) * y + r / cos(t) クロージング処理により、途中で途切れた画素を結合することができる。 -|入力 (imori.jpg) |Canny(answer_43.jpg)|出力 (answer_50.jpg)| +|入力 (imori.jpg) |Canny(answers/answer_43.jpg)|出力 (answers/answer_50.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_43.jpg)|![](answer_50.jpg)| +|![](imori.jpg)|![](answers/answer_43.jpg)|![](answers/answer_50.jpg)| -答え >> [answer_50.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answer_50.py) +答え >> [answers/answer_50.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_41_50/answers/answer_50.py) diff --git a/Question_41_50/answer_4.jpg b/Question_41_50/answers/answer_4.jpg similarity index 100% rename from Question_41_50/answer_4.jpg rename to Question_41_50/answers/answer_4.jpg diff --git a/Question_41_50/answer_41.py b/Question_41_50/answers/answer_41.py similarity index 100% rename from Question_41_50/answer_41.py rename to Question_41_50/answers/answer_41.py diff --git a/Question_41_50/answer_41_1.jpg b/Question_41_50/answers/answer_41_1.jpg similarity index 100% rename from Question_41_50/answer_41_1.jpg rename to Question_41_50/answers/answer_41_1.jpg diff --git a/Question_41_50/answer_41_2.jpg b/Question_41_50/answers/answer_41_2.jpg similarity index 100% rename from Question_41_50/answer_41_2.jpg rename to Question_41_50/answers/answer_41_2.jpg diff --git a/Question_41_50/answer_42.jpg b/Question_41_50/answers/answer_42.jpg similarity index 100% rename from Question_41_50/answer_42.jpg rename to Question_41_50/answers/answer_42.jpg diff --git a/Question_41_50/answer_42.py b/Question_41_50/answers/answer_42.py similarity index 100% rename from Question_41_50/answer_42.py rename to Question_41_50/answers/answer_42.py diff --git a/Question_41_50/answer_43.jpg b/Question_41_50/answers/answer_43.jpg similarity index 100% rename from Question_41_50/answer_43.jpg rename to Question_41_50/answers/answer_43.jpg diff --git a/Question_41_50/answer_43.py b/Question_41_50/answers/answer_43.py similarity index 100% rename from Question_41_50/answer_43.py rename to Question_41_50/answers/answer_43.py diff --git a/Question_41_50/answer_44.jpg b/Question_41_50/answers/answer_44.jpg similarity index 100% rename from Question_41_50/answer_44.jpg rename to Question_41_50/answers/answer_44.jpg diff --git a/Question_41_50/answer_44.py b/Question_41_50/answers/answer_44.py similarity index 100% rename from Question_41_50/answer_44.py rename to Question_41_50/answers/answer_44.py diff --git a/Question_41_50/answer_45.jpg b/Question_41_50/answers/answer_45.jpg similarity index 100% rename from Question_41_50/answer_45.jpg rename to Question_41_50/answers/answer_45.jpg diff --git a/Question_41_50/answer_45.py b/Question_41_50/answers/answer_45.py similarity index 100% rename from Question_41_50/answer_45.py rename to Question_41_50/answers/answer_45.py diff --git a/Question_41_50/answer_46.jpg b/Question_41_50/answers/answer_46.jpg similarity index 100% rename from Question_41_50/answer_46.jpg rename to Question_41_50/answers/answer_46.jpg diff --git a/Question_41_50/answer_46.py b/Question_41_50/answers/answer_46.py similarity index 100% rename from Question_41_50/answer_46.py rename to Question_41_50/answers/answer_46.py diff --git a/Question_41_50/answer_47.jpg b/Question_41_50/answers/answer_47.jpg similarity index 100% rename from Question_41_50/answer_47.jpg rename to Question_41_50/answers/answer_47.jpg diff --git a/Question_41_50/answer_47.py b/Question_41_50/answers/answer_47.py similarity index 100% rename from Question_41_50/answer_47.py rename to Question_41_50/answers/answer_47.py diff --git a/Question_41_50/answer_48.jpg b/Question_41_50/answers/answer_48.jpg similarity index 100% rename from Question_41_50/answer_48.jpg rename to Question_41_50/answers/answer_48.jpg diff --git a/Question_41_50/answer_48.py b/Question_41_50/answers/answer_48.py similarity index 100% rename from Question_41_50/answer_48.py rename to Question_41_50/answers/answer_48.py diff --git a/Question_41_50/answer_49.jpg b/Question_41_50/answers/answer_49.jpg similarity index 100% rename from Question_41_50/answer_49.jpg rename to Question_41_50/answers/answer_49.jpg diff --git a/Question_41_50/answer_49.py b/Question_41_50/answers/answer_49.py similarity index 100% rename from Question_41_50/answer_49.py rename to Question_41_50/answers/answer_49.py diff --git a/Question_41_50/answer_50.jpg b/Question_41_50/answers/answer_50.jpg similarity index 100% rename from Question_41_50/answer_50.jpg rename to Question_41_50/answers/answer_50.jpg diff --git a/Question_41_50/answer_50.py b/Question_41_50/answers/answer_50.py similarity index 100% rename from Question_41_50/answer_50.py rename to Question_41_50/answers/answer_50.py diff --git a/Question_51_60/README.md b/Question_51_60/README.md index 84804331..97d9b95c 100644 --- a/Question_51_60/README.md +++ b/Question_51_60/README.md @@ -8,11 +8,11 @@ ここではモルフォロジー処理のN=1とする。 -|入力 (imori.jpg) |出力(answer_51.jpg)| +|入力 (imori.jpg) |出力(answers/answer_51.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_51.jpg)| +|![](imori.jpg)|![](answers/answer_51.jpg)| -答え >> [answer_51.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_51.py) +答え >> [answers/answer_51.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_51.py) ## Q.52. トップハット変換 @@ -24,11 +24,11 @@ *ここの問題だと効果が分かりにくいので、他の画像があればそのうち訂正します。 -|入力 (imori.jpg) |大津の二値化(answer_4.jpg)|出力(answer_52.jpg)| +|入力 (imori.jpg) |大津の二値化(answers/answer_4.jpg)|出力(answers/answer_52.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_4.jpg)|![](answer_52.jpg)| +|![](imori.jpg)|![](answers/answer_4.jpg)|![](answers/answer_52.jpg)| -答え >> [answer_52.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_52.py) +答え >> [answers/answer_52.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_52.py) ## Q.53. ブラックハット変換 @@ -40,11 +40,11 @@ *ここの問題だと効果が分かりにくいので、他の画像があればそのうち訂正します。 -|入力 (imori.jpg) |大津の二値化(answer_4.jpg)|出力(answer_53.jpg)| +|入力 (imori.jpg) |大津の二値化(answers/answer_4.jpg)|出力(answers/answer_53.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_4.jpg)|![](answer_53.jpg)| +|![](imori.jpg)|![](answers/answer_4.jpg)|![](answers/answer_53.jpg)| -答え >> [answer_53.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_53.py) +答え >> [answers/answer_53.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_53.py) ## Q.54. テンプレートマッチング SSD @@ -71,11 +71,11 @@ S = Sum_{x=0:w, y=0:h} (I(i+x, j+y) - T(x, y) )^2 矩形の描画には*cv2.rectangle()*を用いると良い。 ちなみにimori_part.jpgは若干色味を変えています。 -|入力 (imori.jpg) |テンプレート画像(imori_part.jpg)|出力(answer_54.jpg)| +|入力 (imori.jpg) |テンプレート画像(imori_part.jpg)|出力(answers/answer_54.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_part.jpg)|![](answer_54.jpg)| +|![](imori.jpg)|![](imori_part.jpg)|![](answers/answer_54.jpg)| -答え >> [answer_54.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_54.py) +答え >> [answers/answer_54.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_54.py) ## Q.55. テンプレートマッチング SAD @@ -87,11 +87,11 @@ SAD(Sum of Absolute Difference)とは画素値の差分の絶対値の和を類 S = Sum_{x=0:w, y=0:h} |I(i+x, j+y) - T(x, y)| ``` -|入力 (imori.jpg) |テンプレート画像(imori_part.jpg)|出力(answer_55.jpg)| +|入力 (imori.jpg) |テンプレート画像(imori_part.jpg)|出力(answers/answer_55.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_part.jpg)|![](answer_55.jpg)| +|![](imori.jpg)|![](imori_part.jpg)|![](answers/answer_55.jpg)| -答え >> [answer_55.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_55.py) +答え >> [answers/answer_55.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_55.py) ## Q.56. テンプレートマッチング NCC @@ -108,11 +108,11 @@ S = ---------------------------------------------------------------------------- このSは、-1<=S<=1をとる。 NCCは証明変化に強いと言われる。 -|入力 (imori.jpg) |テンプレート画像(imori_part.jpg)|出力(answer_56.jpg)| +|入力 (imori.jpg) |テンプレート画像(imori_part.jpg)|出力(answers/answer_56.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_part.jpg)|![](answer_56.jpg)| +|![](imori.jpg)|![](imori_part.jpg)|![](answers/answer_56.jpg)| -答え >> [answer_56.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_56.py) +答え >> [answers/answer_56.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_56.py) ## Q.57. テンプレートマッチング ZNCC @@ -131,11 +131,11 @@ S = ---------------------------------------------------------------------------- このSは、-1<=S<=1をとる。 ZNCCは平均値を引くことでNCCよりも証明変化に強いと言われる。(だが今回は検出が失敗する。) -|入力 (imori.jpg) |テンプレート画像(imori_part.jpg)|出力(answer_57.jpg)| +|入力 (imori.jpg) |テンプレート画像(imori_part.jpg)|出力(answers/answer_57.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](imori_part.jpg)|![](answer_57.jpg)| +|![](imori.jpg)|![](imori_part.jpg)|![](answers/answer_57.jpg)| -答え >> [answer_57.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_57.py) +答え >> [answers/answer_57.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_57.py) ## Q.58. ラベリング 4近傍 @@ -180,11 +180,11 @@ ZNCCは平均値を引くことでNCCよりも証明変化に強いと言われ 以上により隣接ピクセル同士に同じラベルを割り当てる。 4近傍としているが、ラスタスキャンのため、上画素と左画素の2画素に注目すればいい。 -|入力 (seg.png) |出力(answer_58.png)| +|入力 (seg.png) |出力(answers/answer_58.png)| |:---:|:---:| -|![](seg.png)|![](answer_58.png)| +|![](seg.png)|![](answers/answer_58.png)| -答え >> [answer_58.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_58.py) +答え >> [answers/answer_58.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_58.py) ## Q.59. ラベリング 8近傍 @@ -192,11 +192,11 @@ ZNCCは平均値を引くことでNCCよりも証明変化に強いと言われ 8近傍とは、i(x-1,y-1), i(x, y-1), i(x+1,y-1), i(x-1,y)の4画素に注目すればよい。 -|入力 (seg.png) |出力(answer_59.png)| +|入力 (seg.png) |出力(answers/answer_59.png)| |:---:|:---:| -|![](seg.png)|![](answer_59.png)| +|![](seg.png)|![](answers/answer_59.png)| -答え >> [answer_59.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_59.py) +答え >> [answers/answer_59.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_59.py) ## Q.60. アルファブレンド @@ -216,8 +216,8 @@ alpha = 0.5 out = img1 * alpha + img2 * (1 - alpha) ``` -|入力 (imori.jpg) |入力2 (thorino.jpg) |出力(answer_60.jpg)| +|入力 (imori.jpg) |入力2 (thorino.jpg) |出力(answers/answer_60.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](thorino.jpg)|![](answer_60.jpg)| +|![](imori.jpg)|![](thorino.jpg)|![](answers/answer_60.jpg)| -答え >> [answer_60.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answer_60.py) +答え >> [answers/answer_60.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_51_60/answers/answer_60.py) diff --git a/Question_51_60/answer_4.jpg b/Question_51_60/answers/answer_4.jpg similarity index 100% rename from Question_51_60/answer_4.jpg rename to Question_51_60/answers/answer_4.jpg diff --git a/Question_51_60/answer_51.jpg b/Question_51_60/answers/answer_51.jpg similarity index 100% rename from Question_51_60/answer_51.jpg rename to Question_51_60/answers/answer_51.jpg diff --git a/Question_51_60/answer_51.py b/Question_51_60/answers/answer_51.py similarity index 100% rename from Question_51_60/answer_51.py rename to Question_51_60/answers/answer_51.py diff --git a/Question_51_60/answer_52.jpg b/Question_51_60/answers/answer_52.jpg similarity index 100% rename from Question_51_60/answer_52.jpg rename to Question_51_60/answers/answer_52.jpg diff --git a/Question_51_60/answer_52.py b/Question_51_60/answers/answer_52.py similarity index 100% rename from Question_51_60/answer_52.py rename to Question_51_60/answers/answer_52.py diff --git a/Question_51_60/answer_53.jpg b/Question_51_60/answers/answer_53.jpg similarity index 100% rename from Question_51_60/answer_53.jpg rename to Question_51_60/answers/answer_53.jpg diff --git a/Question_51_60/answer_53.py b/Question_51_60/answers/answer_53.py similarity index 100% rename from Question_51_60/answer_53.py rename to Question_51_60/answers/answer_53.py diff --git a/Question_51_60/answer_54.jpg b/Question_51_60/answers/answer_54.jpg similarity index 100% rename from Question_51_60/answer_54.jpg rename to Question_51_60/answers/answer_54.jpg diff --git a/Question_51_60/answer_54.py b/Question_51_60/answers/answer_54.py similarity index 100% rename from Question_51_60/answer_54.py rename to Question_51_60/answers/answer_54.py diff --git a/Question_51_60/answer_55.jpg b/Question_51_60/answers/answer_55.jpg similarity index 100% rename from Question_51_60/answer_55.jpg rename to Question_51_60/answers/answer_55.jpg diff --git a/Question_51_60/answer_55.py b/Question_51_60/answers/answer_55.py similarity index 100% rename from Question_51_60/answer_55.py rename to Question_51_60/answers/answer_55.py diff --git a/Question_51_60/answer_56.jpg b/Question_51_60/answers/answer_56.jpg similarity index 100% rename from Question_51_60/answer_56.jpg rename to Question_51_60/answers/answer_56.jpg diff --git a/Question_51_60/answer_56.py b/Question_51_60/answers/answer_56.py similarity index 100% rename from Question_51_60/answer_56.py rename to Question_51_60/answers/answer_56.py diff --git a/Question_51_60/answer_57.jpg b/Question_51_60/answers/answer_57.jpg similarity index 100% rename from Question_51_60/answer_57.jpg rename to Question_51_60/answers/answer_57.jpg diff --git a/Question_51_60/answer_57.py b/Question_51_60/answers/answer_57.py similarity index 100% rename from Question_51_60/answer_57.py rename to Question_51_60/answers/answer_57.py diff --git a/Question_51_60/answer_58.png b/Question_51_60/answers/answer_58.png similarity index 100% rename from Question_51_60/answer_58.png rename to Question_51_60/answers/answer_58.png diff --git a/Question_51_60/answer_58.py b/Question_51_60/answers/answer_58.py similarity index 100% rename from Question_51_60/answer_58.py rename to Question_51_60/answers/answer_58.py diff --git a/Question_51_60/answer_59.png b/Question_51_60/answers/answer_59.png similarity index 100% rename from Question_51_60/answer_59.png rename to Question_51_60/answers/answer_59.png diff --git a/Question_51_60/answer_59.py b/Question_51_60/answers/answer_59.py similarity index 100% rename from Question_51_60/answer_59.py rename to Question_51_60/answers/answer_59.py diff --git a/Question_51_60/answer_60.jpg b/Question_51_60/answers/answer_60.jpg similarity index 100% rename from Question_51_60/answer_60.jpg rename to Question_51_60/answers/answer_60.jpg diff --git a/Question_51_60/answer_60.py b/Question_51_60/answers/answer_60.py similarity index 100% rename from Question_51_60/answer_60.py rename to Question_51_60/answers/answer_60.py diff --git a/Question_61_70/README.md b/Question_61_70/README.md index db081be1..4b84a4f5 100644 --- a/Question_61_70/README.md +++ b/Question_61_70/README.md @@ -27,11 +27,11 @@ S = [0,4]の範囲をとり、 - S = 4 は交差点 を示す。 -|入力 (renketsu.png) |出力(answer_61.png)| +|入力 (renketsu.png) |出力(answers/answer_61.png)| |:---:|:---:| -||| +||| -答え >> [answer_61.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_61.py) +答え >> [answers/answer_61.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_61.py) ## Q.62. 8-連結数 @@ -44,11 +44,11 @@ S = (x1 - x1 x2 x3) + (x3 - x3 x4 x5) + (x5 - x5 x6 x7) + (x7 - x7 x8 x1) ``` において各x¥*の値の0と1を反転させた値を用いる。 -|入力 (renketsu.png) |出力(answer_62.png)| +|入力 (renketsu.png) |出力(answers/answer_62.png)| |:---:|:---:| -||| +||| -答え >> [answer_62.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_62.py) +答え >> [answers/answer_62.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_62.py) ## Q.63. 細線化処理 @@ -65,11 +65,11 @@ S = (x1 - x1 x2 x3) + (x3 - x3 x4 x5) + (x5 - x5 x6 x7) + (x7 - x7 x8 x1) 細線化にはヒルディッチのアルゴリズム(Q.64)や、Zhang-Suenのアルゴリズム(Q.65)、田村のアルゴリズムなどが存在する。 -|入力 (gazo.png) |出力(answer_63.png)| +|入力 (gazo.png) |出力(answers/answer_63.png)| |:---:|:---:| -|![](gazo.png)|![](answer_63.png)| +|![](gazo.png)|![](answers/answer_63.png)| -答え >> [answer_63.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_63.py) +答え >> [answers/answer_63.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_63.py) ## Q.64. ヒルディッチの細線化 @@ -113,11 +113,11 @@ Step.2 Step1, 2で変更する点がなくなるまで交互に繰り返す。 -|入力 (gazo.png) |出力(answer_65.png)| +|入力 (gazo.png) |出力(answers/answer_65.png)| |:---:|:---:| -|![](gazo.png)|![](answer_65.png)| +|![](gazo.png)|![](answers/answer_65.png)| -答え >> [answer_65.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_65.py) +答え >> [answers/answer_65.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_65.py) ## Q.66. HOG (Step.1) 勾配強度・勾配角度 @@ -159,11 +159,11 @@ h(t) = h(t) / sqrt(Sum h(t) + epsilon) 解答例はみやすくするため、graは色付けしてある。またmagは[0, 255]に正規化してある。 -|入力 (imori.jpg) |勾配強度(answer_66_mag.jpg)|勾配角度(answer_66_gra.jpg)| +|入力 (imori.jpg) |勾配強度(answers/answer_66_mag.jpg)|勾配角度(answers/answer_66_gra.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_66_mag.jpg)|![](answer_66_gra.jpg)| +|![](imori.jpg)|![](answers/answer_66_mag.jpg)|![](answers/answer_66_gra.jpg)| -答え >> [answer_66.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_66.py) +答え >> [answers/answer_66.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_66.py) ## Q.67. HOG (Step.2) 勾配ヒストグラム @@ -179,11 +179,11 @@ N=8として、8x8の領域を1セルとして、勾配角度のインデック ``` の順に量子化したインデックスに対応するヒストグラムを示す。 -|入力 (imori.jpg) |出力(answer_67.png)| +|入力 (imori.jpg) |出力(answers/answer_67.png)| |:---:|:---:| -|![](imori.jpg)|| +|![](imori.jpg)|| -答え >> [answer_67.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_67.py) +答え >> [answers/answer_67.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_67.py) ## Q.68. HOG (Step.3) ヒストグラム正規化 @@ -198,11 +198,11 @@ h(t) = h(t) / sqrt(Sum h(t) + epsilon) これでHOG特徴量が得られた。 -|入力 (imori.jpg) |出力(answer_68.png)| +|入力 (imori.jpg) |出力(answers/answer_68.png)| |:---:|:---:| -|![](imori.jpg)|| +|![](imori.jpg)|| -答え >> [answer_68.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_68.py) +答え >> [answers/answer_68.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_68.py) ## Q.69. HOG (Step.4) 特徴量の描画 @@ -214,11 +214,11 @@ h(t) = h(t) / sqrt(Sum h(t) + epsilon) 解答例 -|入力 (imori.jpg) |出力(answer_69.jpg)| +|入力 (imori.jpg) |出力(answers/answer_69.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_69.jpg)| +|![](imori.jpg)|![](answers/answer_69.jpg)| -答え >> [answer_69.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_69.py) +答え >> [answers/answer_69.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_69.py) ## Q.70. カラートラッキング @@ -241,8 +241,8 @@ HSV変換とは Q.5で用いた処理であるが、RGBをH(色相)、S(彩度) つまり、青色のカラートラッキングを行うにはHSV変換を行い、180<=H<=260となる位置が255となるような二値画像を出力すればよい。 -|入力 (imori.jpg) |出力(answer_70.png)| +|入力 (imori.jpg) |出力(answers/answer_70.png)| |:---:|:---:| -|![](imori.jpg)|![](answer_70.png)| +|![](imori.jpg)|![](answers/answer_70.png)| -答え >> [answer_70.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answer_70.py) +答え >> [answers/answer_70.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_61_70/answers/answer_70.py) diff --git a/Question_61_70/answer_61.png b/Question_61_70/answers/answer_61.png similarity index 100% rename from Question_61_70/answer_61.png rename to Question_61_70/answers/answer_61.png diff --git a/Question_61_70/answer_61.py b/Question_61_70/answers/answer_61.py similarity index 100% rename from Question_61_70/answer_61.py rename to Question_61_70/answers/answer_61.py diff --git a/Question_61_70/answer_62.png b/Question_61_70/answers/answer_62.png similarity index 100% rename from Question_61_70/answer_62.png rename to Question_61_70/answers/answer_62.png diff --git a/Question_61_70/answer_62.py b/Question_61_70/answers/answer_62.py similarity index 100% rename from Question_61_70/answer_62.py rename to Question_61_70/answers/answer_62.py diff --git a/Question_61_70/answer_63.png b/Question_61_70/answers/answer_63.png similarity index 100% rename from Question_61_70/answer_63.png rename to Question_61_70/answers/answer_63.png diff --git a/Question_61_70/answer_63.py b/Question_61_70/answers/answer_63.py similarity index 100% rename from Question_61_70/answer_63.py rename to Question_61_70/answers/answer_63.py diff --git a/Question_61_70/answer_64.py b/Question_61_70/answers/answer_64.py similarity index 100% rename from Question_61_70/answer_64.py rename to Question_61_70/answers/answer_64.py diff --git a/Question_61_70/answer_64_a.py b/Question_61_70/answers/answer_64_a.py similarity index 100% rename from Question_61_70/answer_64_a.py rename to Question_61_70/answers/answer_64_a.py diff --git a/Question_61_70/answer_65.png b/Question_61_70/answers/answer_65.png similarity index 100% rename from Question_61_70/answer_65.png rename to Question_61_70/answers/answer_65.png diff --git a/Question_61_70/answer_65.py b/Question_61_70/answers/answer_65.py similarity index 100% rename from Question_61_70/answer_65.py rename to Question_61_70/answers/answer_65.py diff --git a/Question_61_70/answer_66.py b/Question_61_70/answers/answer_66.py similarity index 100% rename from Question_61_70/answer_66.py rename to Question_61_70/answers/answer_66.py diff --git a/Question_61_70/answer_66_gra.jpg b/Question_61_70/answers/answer_66_gra.jpg similarity index 100% rename from Question_61_70/answer_66_gra.jpg rename to Question_61_70/answers/answer_66_gra.jpg diff --git a/Question_61_70/answer_66_mag.jpg b/Question_61_70/answers/answer_66_mag.jpg similarity index 100% rename from Question_61_70/answer_66_mag.jpg rename to Question_61_70/answers/answer_66_mag.jpg diff --git a/Question_61_70/answer_67.png b/Question_61_70/answers/answer_67.png similarity index 100% rename from Question_61_70/answer_67.png rename to Question_61_70/answers/answer_67.png diff --git a/Question_61_70/answer_67.py b/Question_61_70/answers/answer_67.py similarity index 100% rename from Question_61_70/answer_67.py rename to Question_61_70/answers/answer_67.py diff --git a/Question_61_70/answer_68.png b/Question_61_70/answers/answer_68.png similarity index 100% rename from Question_61_70/answer_68.png rename to Question_61_70/answers/answer_68.png diff --git a/Question_61_70/answer_68.py b/Question_61_70/answers/answer_68.py similarity index 100% rename from Question_61_70/answer_68.py rename to Question_61_70/answers/answer_68.py diff --git a/Question_61_70/answer_69.jpg b/Question_61_70/answers/answer_69.jpg similarity index 100% rename from Question_61_70/answer_69.jpg rename to Question_61_70/answers/answer_69.jpg diff --git a/Question_61_70/answer_69.py b/Question_61_70/answers/answer_69.py similarity index 100% rename from Question_61_70/answer_69.py rename to Question_61_70/answers/answer_69.py diff --git a/Question_61_70/answer_70.png b/Question_61_70/answers/answer_70.png similarity index 100% rename from Question_61_70/answer_70.png rename to Question_61_70/answers/answer_70.png diff --git a/Question_61_70/answer_70.py b/Question_61_70/answers/answer_70.py similarity index 100% rename from Question_61_70/answer_70.py rename to Question_61_70/answers/answer_70.py diff --git a/Question_71_80/README.md b/Question_71_80/README.md index b56cc854..5eb4add6 100644 --- a/Question_71_80/README.md +++ b/Question_71_80/README.md @@ -10,11 +10,11 @@ これによりある程度のイモリの部分の抽出ができる。 -|入力 (imori.jpg) |マスク(answer_70.png)|出力(answer_71.jpg)| +|入力 (imori.jpg) |マスク(answers/answer_70.png)|出力(answers/answer_71.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_70.png)|![](answer_71.jpg)| +|![](imori.jpg)|![](answers/answer_70.png)|![](answers/answer_71.jpg)| -答え >> [answer_71.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_71.py) +答え >> [answers/answer_71.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_71.py) ## Q.72. マスキング(カラートラッキング+モルフォロジー) @@ -22,11 +22,11 @@ Q.71ではマスクが雑になってしまっていたので、イモリの目 よってマスク画像にN=5のクロージング処理(Q.50)とオープニング処理(Q.49)を施してマスク画像を正確にして、マスキングを行え。 -|入力 (imori.jpg) |マスク(answer_72_mask.png)|出力(answer_72.jpg)| +|入力 (imori.jpg) |マスク(answers/answer_72_mask.png)|出力(answers/answer_72.jpg)| |:---:|:---:|:---:| -|![](imori.jpg)|![](answer_72_mask.png)|![](answer_72.jpg)| +|![](imori.jpg)|![](answers/answer_72_mask.png)|![](answers/answer_72.jpg)| -答え >> [answer_72.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_72.py) +答え >> [answers/answer_72.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_72.py) ## Q.73. 縮小と拡大 @@ -35,11 +35,11 @@ Q.71ではマスクが雑になってしまっていたので、イモリの目 拡大縮小にはbi-linear補間を用いよ。bi-linear補間をメソッド(関数)化すると、プログラムが簡潔にできる。 -|入力 (imori.jpg) |出力(answer_73.jpg)| +|入力 (imori.jpg) |出力(answers/answer_73.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_73.jpg)| +|![](imori.jpg)|![](answers/answer_73.jpg)| -答え >> [answer_73.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_73.py) +答え >> [answers/answer_73.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_73.py) ## Q.74. ピラミッド差分による高周波成分の抽出 @@ -47,11 +47,11 @@ Q.73で求めた画像と元画像の差分を求め、[0,255]に正規化せよ ここで求めた画像はエッジとなっている。つまり、画像中の高周波成分をとったことになる。 -|入力 (imori.jpg) |出力(answer_74.jpg)| +|入力 (imori.jpg) |出力(answers/answer_74.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_74.jpg)| +|![](imori.jpg)|![](answers/answer_74.jpg)| -答え >> [answer_74.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_74.py) +答え >> [answers/answer_74.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_74.py) ## Q.75. ガウシアンピラミッド @@ -61,11 +61,11 @@ Q.73で求めた画像と元画像の差分を求め、[0,255]に正規化せよ このガウシアンピラミッドの概念は現在でも有効であり、画像をきれいにする超解像を行うディープラーニングの手法でもガウシアンピラミッドの概念が用いられる。 -|入力 (imori.jpg) |1/1(answer_75_1.jpg)|1/2|1/4|1/8|1/16|1/32| +|入力 (imori.jpg) |1/1(answers/answer_75_1.jpg)|1/2|1/4|1/8|1/16|1/32| |:---:|:---:|:---:|:---:|:---:|:---:|:---:| -|![](imori.jpg)|![](answer_75_1.jpg)|![](answer_75_2.jpg)|![](answer_75_4.jpg)|![](answer_75_8.jpg)|![](answer_75_16.jpg)|![](answer_75_32.jpg)| +|![](imori.jpg)|![](answers/answer_75_1.jpg)|![](answers/answer_75_2.jpg)|![](answers/answer_75_4.jpg)|![](answers/answer_75_8.jpg)|![](answers/answer_75_16.jpg)|![](answers/answer_75_32.jpg)| -答え >> [answer_75.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_75.py) +答え >> [answers/answer_75.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_75.py) ## Q.76. 顕著性マップ @@ -88,11 +88,11 @@ Q.73で求めた画像と元画像の差分を求め、[0,255]に正規化せよ 解答例( (0,1), (0,3), (0,5), (1,4), (2,3), (3,5) を使用) -|入力 (imori.jpg) |出力(answer_76.jpg)| +|入力 (imori.jpg) |出力(answers/answer_76.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_76.jpg)| +|![](imori.jpg)|![](answers/answer_76.jpg)| -答え >> [answer_76.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_76.py) +答え >> [answers/answer_76.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_76.py) ## Q.77. ガボールフィルタ @@ -124,11 +124,11 @@ A ... フィルタの回転 抽出したい角度を指定する。 答えでは可視化のためにフィルタの値を[0,255]に正規化している。 -|出力(answer_77.jpg)| +|出力(answers/answer_77.jpg)| |:---:| -|![](answer_77.jpg)| +|![](answers/answer_77.jpg)| -答え >> [answer_77.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_77.py) +答え >> [answers/answer_77.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_77.py) ## Q.78. ガボールフィルタの回転 @@ -137,11 +137,11 @@ A ... フィルタの回転 抽出したい角度を指定する。 ここではガボールフィルタをメソッド化すれば簡単に実装できる。 -|出力(answer_78.png)| +|出力(answers/answer_78.png)| |:---:| -|![](answer_78.png)| +|![](answers/answer_78.png)| -答え >> [answer_78.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_78.py) +答え >> [answers/answer_78.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_78.py) ## Q.79. ガボールフィルタによるエッジ抽出 @@ -156,11 +156,11 @@ A ... フィルタの回転 抽出したい角度を指定する。 **ディープラーニング**のConvolutional層はガボールフィルタの働きに近いとも考えられている。しかし、ディープラーニングではフィルタの係数が機械学習によって自動的に決定される。機械学習の結果、ガボールフィルタに近い働きが生じると言われる。 -入力 (imori.jpg) |出力(answer_79.png)| +入力 (imori.jpg) |出力(answers/answer_79.png)| |:---:|:---:| -|![](imori.jpg)|![](answer_79.png)| +|![](imori.jpg)|![](answers/answer_79.png)| -答え >> [answer_79.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_79.py) +答え >> [answers/answer_79.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_79.py) ## Q.80. ガボールフィルタによる特徴抽出 @@ -170,8 +170,8 @@ Q.79で求めた4枚の画像を足し合わせることで、画像の特徴 ディープラーニングのCNN(Convolutional Neural Network)では、最初に画像の特徴を抽出する働きが備わっているが、その特徴抽出の計算はこの問で行ったような操作を延々と繰り返している。ディープラーニングではこのようにして画像の特徴を自動的に抽出している。 -入力 (imori.jpg) |出力(answer_80.jpg)| +入力 (imori.jpg) |出力(answers/answer_80.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_80.jpg)| +|![](imori.jpg)|![](answers/answer_80.jpg)| -答え >> [answer_80.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answer_80.py) +答え >> [answers/answer_80.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_71_80/answers/answer_80.py) diff --git a/Question_71_80/answer_70.png b/Question_71_80/answers/answer_70.png similarity index 100% rename from Question_71_80/answer_70.png rename to Question_71_80/answers/answer_70.png diff --git a/Question_71_80/answer_71.jpg b/Question_71_80/answers/answer_71.jpg similarity index 100% rename from Question_71_80/answer_71.jpg rename to Question_71_80/answers/answer_71.jpg diff --git a/Question_71_80/answer_71.py b/Question_71_80/answers/answer_71.py similarity index 100% rename from Question_71_80/answer_71.py rename to Question_71_80/answers/answer_71.py diff --git a/Question_71_80/answer_72.jpg b/Question_71_80/answers/answer_72.jpg similarity index 100% rename from Question_71_80/answer_72.jpg rename to Question_71_80/answers/answer_72.jpg diff --git a/Question_71_80/answer_72.py b/Question_71_80/answers/answer_72.py similarity index 100% rename from Question_71_80/answer_72.py rename to Question_71_80/answers/answer_72.py diff --git a/Question_71_80/answer_72_mask.png b/Question_71_80/answers/answer_72_mask.png similarity index 100% rename from Question_71_80/answer_72_mask.png rename to Question_71_80/answers/answer_72_mask.png diff --git a/Question_71_80/answer_73.jpg b/Question_71_80/answers/answer_73.jpg similarity index 100% rename from Question_71_80/answer_73.jpg rename to Question_71_80/answers/answer_73.jpg diff --git a/Question_71_80/answer_73.py b/Question_71_80/answers/answer_73.py similarity index 100% rename from Question_71_80/answer_73.py rename to Question_71_80/answers/answer_73.py diff --git a/Question_71_80/answer_74.jpg b/Question_71_80/answers/answer_74.jpg similarity index 100% rename from Question_71_80/answer_74.jpg rename to Question_71_80/answers/answer_74.jpg diff --git a/Question_71_80/answer_74.py b/Question_71_80/answers/answer_74.py similarity index 100% rename from Question_71_80/answer_74.py rename to Question_71_80/answers/answer_74.py diff --git a/Question_71_80/answer_75.py b/Question_71_80/answers/answer_75.py similarity index 100% rename from Question_71_80/answer_75.py rename to Question_71_80/answers/answer_75.py diff --git a/Question_71_80/answer_75_1.jpg b/Question_71_80/answers/answer_75_1.jpg similarity index 100% rename from Question_71_80/answer_75_1.jpg rename to Question_71_80/answers/answer_75_1.jpg diff --git a/Question_71_80/answer_75_16.jpg b/Question_71_80/answers/answer_75_16.jpg similarity index 100% rename from Question_71_80/answer_75_16.jpg rename to Question_71_80/answers/answer_75_16.jpg diff --git a/Question_71_80/answer_75_2.jpg b/Question_71_80/answers/answer_75_2.jpg similarity index 100% rename from Question_71_80/answer_75_2.jpg rename to Question_71_80/answers/answer_75_2.jpg diff --git a/Question_71_80/answer_75_32.jpg b/Question_71_80/answers/answer_75_32.jpg similarity index 100% rename from Question_71_80/answer_75_32.jpg rename to Question_71_80/answers/answer_75_32.jpg diff --git a/Question_71_80/answer_75_4.jpg b/Question_71_80/answers/answer_75_4.jpg similarity index 100% rename from Question_71_80/answer_75_4.jpg rename to Question_71_80/answers/answer_75_4.jpg diff --git a/Question_71_80/answer_75_8.jpg b/Question_71_80/answers/answer_75_8.jpg similarity index 100% rename from Question_71_80/answer_75_8.jpg rename to Question_71_80/answers/answer_75_8.jpg diff --git a/Question_71_80/answer_76.jpg b/Question_71_80/answers/answer_76.jpg similarity index 100% rename from Question_71_80/answer_76.jpg rename to Question_71_80/answers/answer_76.jpg diff --git a/Question_71_80/answer_76.py b/Question_71_80/answers/answer_76.py similarity index 100% rename from Question_71_80/answer_76.py rename to Question_71_80/answers/answer_76.py diff --git a/Question_71_80/answer_77.jpg b/Question_71_80/answers/answer_77.jpg similarity index 100% rename from Question_71_80/answer_77.jpg rename to Question_71_80/answers/answer_77.jpg diff --git a/Question_71_80/answer_77.py b/Question_71_80/answers/answer_77.py similarity index 100% rename from Question_71_80/answer_77.py rename to Question_71_80/answers/answer_77.py diff --git a/Question_71_80/answer_78.png b/Question_71_80/answers/answer_78.png similarity index 100% rename from Question_71_80/answer_78.png rename to Question_71_80/answers/answer_78.png diff --git a/Question_71_80/answer_78.py b/Question_71_80/answers/answer_78.py similarity index 100% rename from Question_71_80/answer_78.py rename to Question_71_80/answers/answer_78.py diff --git a/Question_71_80/answer_79.png b/Question_71_80/answers/answer_79.png similarity index 100% rename from Question_71_80/answer_79.png rename to Question_71_80/answers/answer_79.png diff --git a/Question_71_80/answer_79.py b/Question_71_80/answers/answer_79.py similarity index 100% rename from Question_71_80/answer_79.py rename to Question_71_80/answers/answer_79.py diff --git a/Question_71_80/answer_80.jpg b/Question_71_80/answers/answer_80.jpg similarity index 100% rename from Question_71_80/answer_80.jpg rename to Question_71_80/answers/answer_80.jpg diff --git a/Question_71_80/answer_80.py b/Question_71_80/answers/answer_80.py similarity index 100% rename from Question_71_80/answer_80.py rename to Question_71_80/answers/answer_80.py diff --git a/Question_81_90/README.md b/Question_81_90/README.md index 659cae02..fb5c7575 100644 --- a/Question_81_90/README.md +++ b/Question_81_90/README.md @@ -23,11 +23,11 @@ H = [ Ix^2 IxIy] 解答ではdet(H)が極大点かつ、max(H)*0.1以上である点をコーナーとしている。 -|入力 (thorino.jpg) |出力(answer_81.jpg)| +|入力 (thorino.jpg) |出力(answers/answer_81.jpg)| |:---:|:---:| -|![](thorino.jpg)|![](answer_81.jpg)| +|![](thorino.jpg)|![](answers/answer_81.jpg)| -答え >> [answer_81.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_81.py) +答え >> [answers/answer_81.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_81.py) ## Q.82. Harrisのコーナー検出 (Step.1) Sobel + Gauusian @@ -50,11 +50,11 @@ Q.82-83においての各パラメータは以下の通り。 ここでは1-3までを実装せよ。 -|入力 (thorino.jpg) |出力(answer_82.png)| +|入力 (thorino.jpg) |出力(answers/answer_82.png)| |:---:|:---:| -|![](thorino.jpg)|![](answer_82.png)| +|![](thorino.jpg)|![](answers/answer_82.png)| -答え >> [answer_82.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_82.py) +答え >> [answers/answer_82.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_82.py) ## Q.83. Harrisのコーナー検出 (Step.2) コーナー検出 @@ -62,11 +62,11 @@ Q.82-83においての各パラメータは以下の通り。 4における k = 0.04、5におけるth = 0.1 -|入力 (thorino.jpg) |出力(answer_83.jpg)| +|入力 (thorino.jpg) |出力(answers/answer_83.jpg)| |:---:|:---:| -|![](thorino.jpg)|![](answer_83.jpg)| +|![](thorino.jpg)|![](answers/answer_83.jpg)| -答え >> [answer_83.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_83.py) +答え >> [answers/answer_83.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_83.py) ## Q.84. 簡単な画像認識 (Step.1) 減色化 + ヒストグラム @@ -89,18 +89,18 @@ CNNが流行る以前はこのアプローチがよく取られたが、CNNは 5. ヒストグラムの差の合計で、最小となった画像が予測となるクラスである。つまり、色が近い画像と同じクラスになると考えられる。 ここでは1-3を実装し、ヒストグラムを可視化せよ。 -学習データは train_akahara_@@@.jpg (クラス1)と train_madara_@@@.jpg(クラス2) を用いる。(計10枚) +学習データはdatasetフォルダにあり train_akahara_@@@.jpg (クラス1)と train_madara_@@@.jpg(クラス2) を用いる。(計10枚) akaharaとはアカハライモリ、madaraはマダライモリである。 このような予め特徴量を保存しておくデータベース型は人工知能第一世代の手法である。ようは、全部のパターンを暗記しておけばOKという考え方である。ただし、そうするとメモリを大量に消費するので使用が限られる手法である。 -|出力(answer_84.png)| +|出力(answers/answer_84.png)| |:---:| -|![](answer_84.png)| +|![](answers/answer_84.png)| -答え >> [answer_84.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_84.py) +答え >> [answers/answer_84.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_84.py) ```bash 格納されるヒストグラムの中身 @@ -133,7 +133,7 @@ test_akahara_2.jpg is similar >> train_akahara_1.jpg Pred >> akahara test_madara_1.jpg is similar >> train_madara_2.jpg Pred >> madara test_madara_2.jpg is similar >> train_akahara_2.jpg Pred >> akahara ``` -答え >> [answer_85.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_85.py) +答え >> [answers/answer_85.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_85.py) ## Q.86. 簡単な画像認識 (Step.3) 評価(Accuracy) @@ -152,7 +152,7 @@ Accuracy = (正解した画像数) / (テストした画像の総数) ```bash Accuracy >> 0.75 (3/4) ``` -答え >> [answer_86.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_86.py) +答え >> [answers/answer_86.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_86.py) ## Q.87. 簡単な画像認識 (Step.4) k-NN @@ -178,7 +178,7 @@ test_madara_2.jpg is similar >> train_akahara_2.jpg, train_madara_3.jpg, train_m Accuracy >> 1.0 (4/4) ``` -答え >> [answer_87.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_87.py) +答え >> [answers/answer_87.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_87.py) ## Q.88. K-means (Step.1) 重心作成 @@ -219,7 +219,7 @@ Grabity 2247. 1338. 434. 10822. 4506. 622. ]] ``` -答え >> [answer_88.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_88.py) +答え >> [answers/answer_88.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_88.py) ## Q.89. K-means (Step.2) クラスタリング @@ -241,7 +241,7 @@ test_madara_1.jpg Pred: 0 test_madara_2.jpg Pred: 0 ``` -答え >> [answer_89.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_89.py) +答え >> [answers/answer_89.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_89.py) ## Q.90. K-means (Step.3) 初期ラベルの変更 @@ -267,4 +267,4 @@ train_madara_4.jpg Pred: 0 train_madara_5.jpg Pred: 0 ``` -答え >> [answer_90.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answer_90.py) +答え >> [answers/answer_90.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_81_90/answers/answer_90.py) diff --git a/Question_81_90/answer_81.jpg b/Question_81_90/answers/answer_81.jpg similarity index 100% rename from Question_81_90/answer_81.jpg rename to Question_81_90/answers/answer_81.jpg diff --git a/Question_81_90/answer_81.py b/Question_81_90/answers/answer_81.py similarity index 100% rename from Question_81_90/answer_81.py rename to Question_81_90/answers/answer_81.py diff --git a/Question_81_90/answer_82.png b/Question_81_90/answers/answer_82.png similarity index 100% rename from Question_81_90/answer_82.png rename to Question_81_90/answers/answer_82.png diff --git a/Question_81_90/answer_82.py b/Question_81_90/answers/answer_82.py similarity index 100% rename from Question_81_90/answer_82.py rename to Question_81_90/answers/answer_82.py diff --git a/Question_81_90/answer_83.jpg b/Question_81_90/answers/answer_83.jpg similarity index 100% rename from Question_81_90/answer_83.jpg rename to Question_81_90/answers/answer_83.jpg diff --git a/Question_81_90/answer_83.py b/Question_81_90/answers/answer_83.py similarity index 100% rename from Question_81_90/answer_83.py rename to Question_81_90/answers/answer_83.py diff --git a/Question_81_90/answer_84.png b/Question_81_90/answers/answer_84.png similarity index 100% rename from Question_81_90/answer_84.png rename to Question_81_90/answers/answer_84.png diff --git a/Question_81_90/answer_84.py b/Question_81_90/answers/answer_84.py similarity index 96% rename from Question_81_90/answer_84.py rename to Question_81_90/answers/answer_84.py index e72c2a96..b0462bd6 100644 --- a/Question_81_90/answer_84.py +++ b/Question_81_90/answers/answer_84.py @@ -10,7 +10,7 @@ def dic_color(img): return img ## Database -train = glob("train_*") +train = glob("dataset/train_*") train.sort() db = np.zeros((len(train), 13), dtype=np.int32) diff --git a/Question_81_90/answer_85.py b/Question_81_90/answers/answer_85.py similarity index 95% rename from Question_81_90/answer_85.py rename to Question_81_90/answers/answer_85.py index 93636156..9926ba7b 100644 --- a/Question_81_90/answer_85.py +++ b/Question_81_90/answers/answer_85.py @@ -10,7 +10,7 @@ def dic_color(img): return img ## Database -train = glob("train_*") +train = glob("dataset/train_*") train.sort() db = np.zeros((len(train), 13), dtype=np.int32) @@ -33,7 +33,7 @@ def dic_color(img): pdb.append(path) ## test -test = glob("test_*") +test = glob("dataset/test_*") test.sort() success_num = 0. diff --git a/Question_81_90/answer_86.py b/Question_81_90/answers/answer_86.py similarity index 96% rename from Question_81_90/answer_86.py rename to Question_81_90/answers/answer_86.py index 697568ce..4eb112d2 100644 --- a/Question_81_90/answer_86.py +++ b/Question_81_90/answers/answer_86.py @@ -10,7 +10,7 @@ def dic_color(img): return img ## Database -train = glob("train_*") +train = glob("dataset/train_*") train.sort() db = np.zeros((len(train), 13), dtype=np.int32) @@ -33,7 +33,7 @@ def dic_color(img): pdb.append(path) ## test -test = glob("test_*") +test = glob("dataset/test_*") test.sort() success_num = 0. diff --git a/Question_81_90/answer_87.py b/Question_81_90/answers/answer_87.py similarity index 96% rename from Question_81_90/answer_87.py rename to Question_81_90/answers/answer_87.py index 18cdd4ec..a37a18d8 100644 --- a/Question_81_90/answer_87.py +++ b/Question_81_90/answers/answer_87.py @@ -10,7 +10,7 @@ def dic_color(img): return img ## Database -train = glob("train_*") +train = glob("dataset/train_*") train.sort() db = np.zeros((len(train), 13), dtype=np.int32) @@ -33,7 +33,7 @@ def dic_color(img): pdb.append(path) ## test -test = glob("test_*") +test = glob("dataset/test_*") test.sort() success_num = 0. diff --git a/Question_81_90/answer_88.py b/Question_81_90/answers/answer_88.py similarity index 97% rename from Question_81_90/answer_88.py rename to Question_81_90/answers/answer_88.py index 48f79f45..45b5af64 100644 --- a/Question_81_90/answer_88.py +++ b/Question_81_90/answers/answer_88.py @@ -10,7 +10,7 @@ def dic_color(img): return img ## Database -train = glob("test_*") +train = glob("dataset/test_*") train.sort() db = np.zeros((len(train), 13), dtype=np.int32) diff --git a/Question_81_90/answer_89.py b/Question_81_90/answers/answer_89.py similarity index 97% rename from Question_81_90/answer_89.py rename to Question_81_90/answers/answer_89.py index 9469c39c..15bb663a 100644 --- a/Question_81_90/answer_89.py +++ b/Question_81_90/answers/answer_89.py @@ -10,7 +10,7 @@ def dic_color(img): return img ## Database -train = glob("test_*") +train = glob("dataset/test_*") train.sort() db = np.zeros((len(train), 13), dtype=np.int32) diff --git a/Question_81_90/answer_90.py b/Question_81_90/answers/answer_90.py similarity index 97% rename from Question_81_90/answer_90.py rename to Question_81_90/answers/answer_90.py index 9dc6c6a8..33390179 100644 --- a/Question_81_90/answer_90.py +++ b/Question_81_90/answers/answer_90.py @@ -10,7 +10,7 @@ def dic_color(img): return img ## Database -train = glob("train_*") +train = glob("dataset/train_*") train.sort() db = np.zeros((len(train), 13), dtype=np.int32) diff --git a/Question_81_90/test_akahara_1.jpg b/Question_81_90/dataset/test_akahara_1.jpg similarity index 100% rename from Question_81_90/test_akahara_1.jpg rename to Question_81_90/dataset/test_akahara_1.jpg diff --git a/Question_81_90/test_akahara_2.jpg b/Question_81_90/dataset/test_akahara_2.jpg similarity index 100% rename from Question_81_90/test_akahara_2.jpg rename to Question_81_90/dataset/test_akahara_2.jpg diff --git a/Question_81_90/test_madara_1.jpg b/Question_81_90/dataset/test_madara_1.jpg similarity index 100% rename from Question_81_90/test_madara_1.jpg rename to Question_81_90/dataset/test_madara_1.jpg diff --git a/Question_81_90/test_madara_2.jpg b/Question_81_90/dataset/test_madara_2.jpg similarity index 100% rename from Question_81_90/test_madara_2.jpg rename to Question_81_90/dataset/test_madara_2.jpg diff --git a/Question_81_90/train_akahara_1.jpg b/Question_81_90/dataset/train_akahara_1.jpg similarity index 100% rename from Question_81_90/train_akahara_1.jpg rename to Question_81_90/dataset/train_akahara_1.jpg diff --git a/Question_81_90/train_akahara_2.jpg b/Question_81_90/dataset/train_akahara_2.jpg similarity index 100% rename from Question_81_90/train_akahara_2.jpg rename to Question_81_90/dataset/train_akahara_2.jpg diff --git a/Question_81_90/train_akahara_3.jpg b/Question_81_90/dataset/train_akahara_3.jpg similarity index 100% rename from Question_81_90/train_akahara_3.jpg rename to Question_81_90/dataset/train_akahara_3.jpg diff --git a/Question_81_90/train_akahara_4.jpg b/Question_81_90/dataset/train_akahara_4.jpg similarity index 100% rename from Question_81_90/train_akahara_4.jpg rename to Question_81_90/dataset/train_akahara_4.jpg diff --git a/Question_81_90/train_akahara_5.jpg b/Question_81_90/dataset/train_akahara_5.jpg similarity index 100% rename from Question_81_90/train_akahara_5.jpg rename to Question_81_90/dataset/train_akahara_5.jpg diff --git a/Question_81_90/train_madara_1.jpg b/Question_81_90/dataset/train_madara_1.jpg similarity index 100% rename from Question_81_90/train_madara_1.jpg rename to Question_81_90/dataset/train_madara_1.jpg diff --git a/Question_81_90/train_madara_2.jpg b/Question_81_90/dataset/train_madara_2.jpg similarity index 100% rename from Question_81_90/train_madara_2.jpg rename to Question_81_90/dataset/train_madara_2.jpg diff --git a/Question_81_90/train_madara_3.jpg b/Question_81_90/dataset/train_madara_3.jpg similarity index 100% rename from Question_81_90/train_madara_3.jpg rename to Question_81_90/dataset/train_madara_3.jpg diff --git a/Question_81_90/train_madara_4.jpg b/Question_81_90/dataset/train_madara_4.jpg similarity index 100% rename from Question_81_90/train_madara_4.jpg rename to Question_81_90/dataset/train_madara_4.jpg diff --git a/Question_81_90/train_madara_5.jpg b/Question_81_90/dataset/train_madara_5.jpg similarity index 100% rename from Question_81_90/train_madara_5.jpg rename to Question_81_90/dataset/train_madara_5.jpg diff --git a/Question_91_100/README.md b/Question_91_100/README.md index eaebbc92..75818a9d 100644 --- a/Question_91_100/README.md +++ b/Question_91_100/README.md @@ -36,11 +36,11 @@ 最初に選ばれた色との色の距離でクラスのインデックスをつけたもの(アルゴリズム2)。 解答では0-4にインデックスの値をx50にして見やすいようにしている。 -|入力 (imori.jpg) |出力(answer_91.jpg)| +|入力 (imori.jpg) |出力(answers/answer_91.jpg)| |:---:|:---:| -|![](imori.jpg)|![](answer_91.jpg)| +|![](imori.jpg)|![](answers/answer_91.jpg)| -答え >> [answer_91.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_91.py) +答え >> [answers/answer_91.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_91.py) ## Q.92. K-meansによる減色処理 (Step.2) 減色処理 @@ -59,11 +59,11 @@ また、k=5にして*madara.jpg*にも試してみよ。 -|入力 (imori.jpg) | 出力(answer_92.jpg) | k=10(answer_92_k10.jpg) |入力2 (madara.jpg) |出力(answer_92_m.jpg) | +|入力 (imori.jpg) | 出力(answers/answer_92.jpg) | k=10(answers/answer_92_k10.jpg) |入力2 (madara.jpg) |出力(answers/answer_92_m.jpg) | |:---:|:---:|:---:|:---:|:---:| -|![](imori.jpg)|![](answer_92.jpg)|![](answer_92_k10.jpg)|![](madara.jpg)|![](answer_92_m.jpg)| +|![](imori.jpg)|![](answers/answer_92.jpg)|![](answers/answer_92_k10.jpg)|![](madara.jpg)|![](answers/answer_92_m.jpg)| -答え >> [answer_92.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_92.py) +答え >> [answers/answer_92.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_92.py) ## Q.93. 機械学習の学習データの用意 (Step.1) IoUの計算 @@ -96,7 +96,7 @@ b = np.array((60, 60, 170, 160), dtype=np.float32) ```bash 0.627907 ``` -答え >> [answer_93.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_93.py) +答え >> [answers/answer_93.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_93.py) ## Q.94. 機械学習の学習データの用意 (Step.2) ランダムクラッピング @@ -111,11 +111,11 @@ b = np.array((60, 60, 170, 160), dtype=np.float32) 答えは、ラベル1の矩形を赤、ラベル0の矩形を青、GTを緑にしている。 これでイモリの顔の画像、それ以外の画像を簡易的に用意できた。 -|入力 (imori_1.jpg) |出力(answer_94.jpg)| +|入力 (imori_1.jpg) |出力(answers/answer_94.jpg)| |:---:|:---:| -|![](imori_1.jpg)|![](answer_94.jpg)| +|![](imori_1.jpg)|![](answers/answer_94.jpg)| -答え >> [answer_94.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_94.py) +答え >> [answers/answer_94.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_94.py) ## Q.95. ニューラルネットワーク (Step.1) ディープラーニングにする @@ -191,7 +191,7 @@ in: [1. 0.] pred: [0.9641076] in: [1. 1.] pred: [0.03937037] ``` -答え >> [answer_95.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_95.py) +答え >> [answers/answer_95.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_95.py) ## Q.96. ニューラルネットワーク (Step.2) 学習 @@ -207,7 +207,7 @@ in: [1. 1.] pred: [0.03937037] Accuracy >> 1.0 (200.0 / 200) ``` -答え >> [answer_96.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_96.py) +答え >> [answers/answer_96.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_96.py) ## Q.97. 簡単な物体検出 (Step.1) スライディングウィンドウ + HOG @@ -240,7 +240,7 @@ recs = np.array(((42, 42), (56, 56), (70, 70)), dtype=np.float32) - 矩形部分を切り抜いたら、その部分を32x32にリサイズする。 - HOG特徴量の取得は8x8を1セルとする。 -答え >> [answer_97.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_97.py) +答え >> [answers/answer_97.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_97.py) ## Q.98. 簡単な物体検出 (Step.2) スライディングウィンドウ + NN @@ -283,11 +283,11 @@ recs = np.array(((42, 42), (56, 56), (70, 70)), dtype=np.float32) [ 97. 81. 167. 144. 0.70371708]] ``` -|入力 (imori_many.jpg) |出力(answer_98.jpg)| +|入力 (imori_many.jpg) |出力(answers/answer_98.jpg)| |:---:|:---:| -|![](imori_many.jpg)|![](answer_98.jpg)| +|![](imori_many.jpg)|![](answers/answer_98.jpg)| -解答 >> [answer_98.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_98.py) +解答 >> [answers/answer_98.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_98.py) ## Q.99. 簡単な物体検出 (Step.3) Non-Maximum Suppression @@ -308,11 +308,11 @@ Q.98にNMS(閾値t=0.25)を組み込み、出力を描画せよ。 精度はともあれ、これで検出の一連の流れが完了した。 ニューラルネットの学習を増やしたりすることで、検出の精度は更に向上ができる。 -|入力 (imori_many.jpg) |NMS前(answer_98.jpg)|NMS後(answer_99.jpg)| +|入力 (imori_many.jpg) |NMS前(answers/answer_98.jpg)|NMS後(answers/answer_99.jpg)| |:---:|:---:|:---:| -|![](imori_many.jpg)|![](answer_98.jpg)|![](answer_99.jpg)| +|![](imori_many.jpg)|![](answers/answer_98.jpg)|![](answers/answer_99.jpg)| -解答 >> [answer_99.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_99.py) +解答 >> [answers/answer_99.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_99.py) ## Q.100. 簡単な物体検出 (Step.4) 評価 Precision, Recall, F-score, mAP @@ -385,8 +385,8 @@ F-score >> 0.4 mAP >> 0.0625 ``` -|入力 (imori_many.jpg) |GT(answer_100_gt.jpg)|出力(answer_100.jpg)| +|入力 (imori_many.jpg) |GT(answers/answer_100_gt.jpg)|出力(answers/answer_100.jpg)| |:---:|:---:|:---:| -|![](imori_many.jpg)|![](answer_100_gt.jpg)|![](answer_100.jpg)| +|![](imori_many.jpg)|![](answers/answer_100_gt.jpg)|![](answers/answer_100.jpg)| -解答 >> [answer_100.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answer_100.py) +解答 >> [answers/answer_100.py](https://github.com/yoyoyo-yo/Gasyori100knock/blob/master/Question_91_100/answers/answer_100.py) diff --git a/Question_91_100/answer_100.jpg b/Question_91_100/answers/answer_100.jpg similarity index 100% rename from Question_91_100/answer_100.jpg rename to Question_91_100/answers/answer_100.jpg diff --git a/Question_91_100/answer_100.py b/Question_91_100/answers/answer_100.py similarity index 100% rename from Question_91_100/answer_100.py rename to Question_91_100/answers/answer_100.py diff --git a/Question_91_100/answer_100_gt.jpg b/Question_91_100/answers/answer_100_gt.jpg similarity index 100% rename from Question_91_100/answer_100_gt.jpg rename to Question_91_100/answers/answer_100_gt.jpg diff --git a/Question_91_100/answer_91.jpg b/Question_91_100/answers/answer_91.jpg similarity index 100% rename from Question_91_100/answer_91.jpg rename to Question_91_100/answers/answer_91.jpg diff --git a/Question_91_100/answer_91.py b/Question_91_100/answers/answer_91.py similarity index 100% rename from Question_91_100/answer_91.py rename to Question_91_100/answers/answer_91.py diff --git a/Question_91_100/answer_92.jpg b/Question_91_100/answers/answer_92.jpg similarity index 100% rename from Question_91_100/answer_92.jpg rename to Question_91_100/answers/answer_92.jpg diff --git a/Question_91_100/answer_92.py b/Question_91_100/answers/answer_92.py similarity index 100% rename from Question_91_100/answer_92.py rename to Question_91_100/answers/answer_92.py diff --git a/Question_91_100/answer_92_k10.jpg b/Question_91_100/answers/answer_92_k10.jpg similarity index 100% rename from Question_91_100/answer_92_k10.jpg rename to Question_91_100/answers/answer_92_k10.jpg diff --git a/Question_91_100/answer_92_m.jpg b/Question_91_100/answers/answer_92_m.jpg similarity index 100% rename from Question_91_100/answer_92_m.jpg rename to Question_91_100/answers/answer_92_m.jpg diff --git a/Question_91_100/answer_93.py b/Question_91_100/answers/answer_93.py similarity index 100% rename from Question_91_100/answer_93.py rename to Question_91_100/answers/answer_93.py diff --git a/Question_91_100/answer_94.jpg b/Question_91_100/answers/answer_94.jpg similarity index 100% rename from Question_91_100/answer_94.jpg rename to Question_91_100/answers/answer_94.jpg diff --git a/Question_91_100/answer_94.py b/Question_91_100/answers/answer_94.py similarity index 100% rename from Question_91_100/answer_94.py rename to Question_91_100/answers/answer_94.py diff --git a/Question_91_100/answer_95.py b/Question_91_100/answers/answer_95.py similarity index 100% rename from Question_91_100/answer_95.py rename to Question_91_100/answers/answer_95.py diff --git a/Question_91_100/answer_96.py b/Question_91_100/answers/answer_96.py similarity index 100% rename from Question_91_100/answer_96.py rename to Question_91_100/answers/answer_96.py diff --git a/Question_91_100/answer_97.py b/Question_91_100/answers/answer_97.py similarity index 100% rename from Question_91_100/answer_97.py rename to Question_91_100/answers/answer_97.py diff --git a/Question_91_100/answer_98.jpg b/Question_91_100/answers/answer_98.jpg similarity index 100% rename from Question_91_100/answer_98.jpg rename to Question_91_100/answers/answer_98.jpg diff --git a/Question_91_100/answer_98.py b/Question_91_100/answers/answer_98.py similarity index 100% rename from Question_91_100/answer_98.py rename to Question_91_100/answers/answer_98.py diff --git a/Question_91_100/answer_99.jpg b/Question_91_100/answers/answer_99.jpg similarity index 100% rename from Question_91_100/answer_99.jpg rename to Question_91_100/answers/answer_99.jpg diff --git a/Question_91_100/answer_99.py b/Question_91_100/answers/answer_99.py similarity index 100% rename from Question_91_100/answer_99.py rename to Question_91_100/answers/answer_99.py diff --git a/README.md b/README.md index 7999a7e3..f1c90f81 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,10 @@ English is here >> https://github.com/KuKuXia/Image_Processing_100_Questions Ku - 【注意】このページを利用して、または関して生じた事に関しては、私は一切責任を負いません。すべて**自己責任**でお願い致します。 +**ディープラーニングのノックはこっち** >> https://github.com/yoyoyo-yo/DeepLearningMugenKnock + ## Recent +- 2019.3.5 各Questionの答えをanswersディレクトリに収納 - 2019.3.3 Q.18-22. 一部修正 - 2019.2.26 Q.10. メディアンフィルタの解答を一部修正 - 2019.2.25 Q.9. ガウシアンフィルタの解答を一部修正 @@ -86,7 +89,7 @@ https://qiita.com/karaage0703/items/e0b57b63dbebed908b2f 次に画像処理に関するnumpyの扱い方のために**Tutorial**フォルダを見てみて下さい。(もう知ってるという人はスキップして下さい。) -あとは問題を解いていってください。それぞれのフォルダに問題内容が入っています。問題では assets/imori.jpg を使用して下さい。各フォルダのREADME.mdに問題、解答プログラムがあります。python answer_@@.py とすると解答が出ます。 +あとは問題を解いていってください。それぞれのフォルダに問題内容が入っています。問題では assets/imori.jpg を使用して下さい。各フォルダのREADME.mdに問題、解答プログラムがあります。```python answers/answer_@@.py``` とすると解答が出ます。 ## 問題 diff --git a/answer_adaptive2.py b/answer_adaptive2.py new file mode 100644 index 00000000..5931604e --- /dev/null +++ b/answer_adaptive2.py @@ -0,0 +1,29 @@ +import cv2 +import numpy as np +import matplotlib.pyplot as plt + +# Read image +img = cv2.imread("imori2.jpg").astype(np.float32) +H, W, C = img.shape + +# Grayscale +gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0] + +# Magnitude and gradient +#gray = np.pad(gray, (1, 1), 'edge') +out = np.zeros_like(gray) + +N = 9 +D = N // 2 +for y in range(H): + for x in range(W): + th = np.mean(gray[max(y-D,0):min(y+1+D,H), max(x-D,0):min(x+1+D,W)]) + out[y,x] = 255 if gray[y,x] > th else 0 + +out = out.astype(np.uint8) + +# Save result +cv2.imwrite("out.jpg", out) +cv2.imshow("result", out) +cv2.waitKey(0) +cv2.destroyAllWindows() diff --git a/trace.py b/trace.py new file mode 100644 index 00000000..3eeb67b6 --- /dev/null +++ b/trace.py @@ -0,0 +1,104 @@ +import cv2 +import numpy as np +import matplotlib.pyplot as plt + +# Read image +img = cv2.imread("gazo.png").astype(np.float32) +H, W, C = img.shape + +tmp = np.zeros((H, W), dtype=np.int) +tmp[img[..., 0] > 0] = 255 + +out = np.zeros_like(tmp) + +flag = False +for y in range(H): + for x in range(W): + if flag: + continue + if tmp[y, x] == 255: + tx = x + ty = y + pre = 7 + while True: + print(tx, ty) + + if tmp[min(ty+1, H-1), max(tx-1,0)] == 255 and out[min(ty+1, H-1), max(tx-1,0)] == 0: + tx = max(tx-1, 0) + ty = min(ty+1, H-1) + out[ty, tx] = 255 + pre = 0 + if tx == x and ty == y: + flag = True + break + continue + if tmp[min(ty+1, H-1), tx] == 255 and out[min(ty+1, H-1), tx] == 0: + tx = tx + ty = min(ty+1, H-1) + out[ty, tx] = 255 + pre = 1 + if tx == x and ty == y: + flag = True + break + continue + if tmp[min(ty+1, H-1), min(tx+1, W-1)] == 255 and out[min(ty+1, H-1), min(tx+1, W-1)] == 0: + tx = min(tx+1, W-1) + ty = min(ty+1, H-1) + out[ty, tx] = 255 + pre = 2 + if tx == x and ty == y: + flag = True + break + continue + if tmp[ty, min(tx+1, W-1)] == 255 and out[ty, min(tx+1, W-1)] == 0: + tx = min(tx+1, W-1) + ty = ty + out[ty, tx] = 255 + pre = 3 + if tx == x and ty == y: + flag = True + break + continue + if tmp[max(ty-1, 0), min(tx+1, W-1)] == 255 and out[max(ty-1, 0), min(tx+1, W-1)] == 0: + tx = min(tx+1, W-1) + ty = max(ty-1, 0) + out[ty, tx] = 255 + pre = 4 + if tx == x and ty == y: + flag = True + break + continue + if tmp[max(ty-1, 0), tx] == 255 and out[max(ty-1, 0), tx] == 0: + tx = tx + ty = max(ty-1, 0) + out[ty, tx] = 255 + pre = 5 + if tx == x and ty == y: + flag = True + break + continue + if tmp[max(ty-1, 0), max(tx-1, 0)] == 255 and out[max(ty-1, 0), max(tx-1, 0)] == 0: + tx = max(tx-1, 0) + ty = max(ty-1, 0) + out[ty, tx] = 255 + pre = 6 + if tx == x and ty == y: + flag = True + break + continue + if tmp[ty, max(tx-1, 0)] == 255 and out[ty, max(tx-1, 0)] == 0: + tx = max(tx-1, 0) + ty = ty + out[ty, tx] = 255 + pre = 7 + if tx == x and ty == y: + flag = True + break + continue + +out = out.astype(np.uint8) + +# Save result +cv2.imshow("result", out) +cv2.waitKey(0) +cv2.imwrite("out.jpg", out) diff --git a/yobi/crop.py b/yobi/crop.py new file mode 100644 index 00000000..d06be275 --- /dev/null +++ b/yobi/crop.py @@ -0,0 +1,46 @@ +import cv2 +import numpy as np + +# read image +img = cv2.imread("imori_1.jpg") +H, W, C = img.shape + +gt = np.array((47, 41, 129, 103), dtype=np.float32) +cv2.rectangle(img, (gt[0], gt[1]), (gt[2], gt[3]), (0,255,255), 1) + +def iou(a, b): + area_a = (a[2] - a[0]) * (a[3] - a[1]) + area_b = (b[2] - b[0]) * (b[3] - b[1]) + iou_x1 = np.maximum(a[0], b[0]) + iou_y1 = np.maximum(a[1], b[1]) + iou_x2 = np.minimum(a[2], b[2]) + iou_y2 = np.minimum(a[3], b[3]) + iou_w = max(iou_x2 - iou_x1, 0) + iou_h = max(iou_y2 - iou_y1, 0) + area_iou = iou_w * iou_h + iou = area_iou / (area_a + area_b - area_iou) + return iou + +np.random.seed(0) + +Crop_num = 100 +L = 56 + +for _ in range(Crop_num): + + x1 = np.random.randint(W-L) + y1 = np.random.randint(H-L) + x2 = x1 + L + y2 = y1 + L + + crop = np.array((x1, y1, x2, y2)) + + _iou = iou(gt, crop) + + if _iou >= 0.5: + cv2.rectangle(img, (x1, y1), (x2, y2), (0,0,255), 1) + else: + cv2.rectangle(img, (x1, y1), (x2, y2), (255,0,0), 1) + +cv2.imshow("", img) +cv2.waitKey(0) diff --git a/yobi/crop_hog.py b/yobi/crop_hog.py new file mode 100644 index 00000000..3dc4b7e0 --- /dev/null +++ b/yobi/crop_hog.py @@ -0,0 +1,184 @@ +import cv2 +import numpy as np + +np.random.seed(0) + +# read image +img = cv2.imread("imori_1.jpg") +H, W, C = img.shape + +# Grayscale +gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0] + +gt = np.array((47, 41, 129, 103), dtype=np.float32) + +#gt = np.array((41, 3, 83, 32), dtype=np.float32) +#gt2 = np.array((123, 41, 161, 74), dtype=np.float32) +#gt3 = np.array((97, 83, 137, 113), dtype=np.float32) +cv2.rectangle(img, (gt[0], gt[1]), (gt[2], gt[3]), (0,255,255), 1) +#cv2.rectangle(img, (gt2[0], gt2[1]), (gt2[2], gt2[3]), (0,255,255), 1) +#cv2.rectangle(img, (gt3[0], gt3[1]), (gt3[2], gt3[3]), (0,255,255), 1) + +def iou(a, b): + area_a = (a[2] - a[0]) * (a[3] - a[1]) + area_b = (b[2] - b[0]) * (b[3] - b[1]) + iou_x1 = np.maximum(a[0], b[0]) + iou_y1 = np.maximum(a[1], b[1]) + iou_x2 = np.minimum(a[2], b[2]) + iou_y2 = np.minimum(a[3], b[3]) + iou_w = max(iou_x2 - iou_x1, 0) + iou_h = max(iou_y2 - iou_y1, 0) + area_iou = iou_w * iou_h + iou = area_iou / (area_a + area_b - area_iou) + return iou + + +def hog(gray): + h, w = gray.shape + # Magnitude and gradient + gray = np.pad(gray, (1, 1), 'edge') + + gx = gray[1:h+1, 2:] - gray[1:h+1, :w] + gy = gray[2:, 1:w+1] - gray[:h, 1:w+1] + gx[gx == 0] = 0.000001 + + mag = np.sqrt(gx ** 2 + gy ** 2) + gra = np.arctan(gy / gx) + gra[gra<0] = np.pi / 2 + gra[gra < 0] + np.pi / 2 + + # Gradient histogram + gra_n = np.zeros_like(gra, dtype=np.int) + + d = np.pi / 9 + for i in range(9): + gra_n[np.where((gra >= d * i) & (gra <= d * (i+1)))] = i + + N = 8 + HH = h // N + HW = w // N + Hist = np.zeros((HH, HW, 9), dtype=np.float32) + for y in range(HH): + for x in range(HW): + for j in range(N): + for i in range(N): + Hist[y, x, gra_n[y*4+j, x*4+i]] += mag[y*4+j, x*4+i] + + ## Normalization + C = 3 + eps = 1 + for y in range(HH): + for x in range(HW): + #for i in range(9): + Hist[y, x] /= np.sqrt(np.sum(Hist[max(y-1,0):min(y+2, HH), max(x-1,0):min(x+2, HW)] ** 2) + eps) + + return Hist + +def resize(img, h, w): + _h, _w = img.shape + ah = 1. * h / _h + aw = 1. * w / _w + y = np.arange(h).repeat(w).reshape(w, -1) + x = np.tile(np.arange(w), (h, 1)) + y = (y / ah) + x = (x / aw) + + ix = np.floor(x).astype(np.int32) + iy = np.floor(y).astype(np.int32) + ix = np.minimum(ix, _w-2) + iy = np.minimum(iy, _h-2) + + dx = x - ix + dy = y - iy + + out = (1-dx) * (1-dy) * img[iy, ix] + dx * (1 - dy) * img[iy, ix+1] + (1 - dx) * dy * img[iy+1, ix] + dx * dy * img[iy+1, ix+1] + out[out>255] = 255 + + return out + + +# crop and create database + +Crop_num = 300 +L = 60 + +H_size = 32 +F_n = ((H_size // 8) ** 2) * 9 + +db = np.zeros((Crop_num, F_n + 1)) + +for i in range(Crop_num): + x1 = np.random.randint(W-L) + y1 = np.random.randint(H-L) + x2 = x1 + L + y2 = y1 + L + crop = np.array((x1, y1, x2, y2)) + + _iou = np.zeros((3,)) + _iou[0] = iou(gt, crop) + #_iou[1] = iou(gt2, crop) + #_iou[2] = iou(gt3, crop) + + if _iou.max() >= 0.5: + cv2.rectangle(img, (x1, y1), (x2, y2), (0,0,255), 1) + label = 0 + else: + cv2.rectangle(img, (x1, y1), (x2, y2), (255,0,0), 1) + label = 1 + + crop_area = gray[y1:y2, x1:x2] + crop_area = resize(crop_area, H_size, H_size) + _hog = hog(crop_area) + + db[i, :F_n] = _hog.ravel() + db[i, -1] = label + + #cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0,0), 1) + +cv2.imshow("re", img) +cv2.waitKey(0) + +from sklearn import svm +clf = svm.SVC(kernel='linear') +clf.fit(X=db[..., :F_n], y=db[..., -1]) + + +# read detect target image +img2 = cv2.imread("imori_many.jpg") +H2, W2, C2 = img2.shape + +# Grayscale +gray2 = 0.2126 * img2[..., 2] + 0.7152 * img2[..., 1] + 0.0722 * img2[..., 0] + +# [h, w] +recs = np.array(((42, 42), (56, 56), (70, 70)), dtype=np.float32) + +# sliding window +for y in range(0, H2, 4): + for x in range(0, W2, 4): + for rec in recs: + dh = int(rec[0] // 2) + dw = int(rec[1] // 2) + x1 = max(x-dw, 0) + x2 = min(x+dw, W2) + y1 = max(y-dh, 0) + y2 = min(y+dh, H2) + region = gray2[max(y-dh,0):min(y+dh,H2), max(x-dw,0):min(x+dw,W2)] + region = resize(region, H_size, H_size) + r_hog = hog(region).ravel() + + f_dif = np.sum(np.abs(db[:, :F_n] - r_hog) ** 2) + min_arg = np.argsort(f_dif)[:5] + pred = db[min_arg, -1] + + #if len(np.where(pred==0)[0]) > 0: + # cv2.rectangle(img2, (x1, y1), (x2, y2), (0,0,255), 1) + + pred = clf.predict(r_hog[None, ...])[0] + if pred == 0: + cv2.rectangle(img2, (x1, y1), (x2, y2), (0,0,255), 1) + print(y, x) + + +#print(db) +cv2.imshow("", img2) +cv2.waitKey(0) diff --git a/yobi/crop_hog_nn.py b/yobi/crop_hog_nn.py new file mode 100644 index 00000000..777330fb --- /dev/null +++ b/yobi/crop_hog_nn.py @@ -0,0 +1,294 @@ +import cv2 +import numpy as np + +np.random.seed(0) + +# read image +img = cv2.imread("imori_1.jpg") +H, W, C = img.shape + +# Grayscale +gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0] + +gt = np.array((47, 41, 129, 103), dtype=np.float32) + +#gt = np.array((41, 3, 83, 32), dtype=np.float32) +#gt2 = np.array((123, 41, 161, 74), dtype=np.float32) +#gt3 = np.array((97, 83, 137, 113), dtype=np.float32) +cv2.rectangle(img, (gt[0], gt[1]), (gt[2], gt[3]), (0,255,255), 1) +#cv2.rectangle(img, (gt2[0], gt2[1]), (gt2[2], gt2[3]), (0,255,255), 1) +#cv2.rectangle(img, (gt3[0], gt3[1]), (gt3[2], gt3[3]), (0,255,255), 1) + +def iou(a, b): + area_a = (a[2] - a[0]) * (a[3] - a[1]) + area_b = (b[2] - b[0]) * (b[3] - b[1]) + iou_x1 = np.maximum(a[0], b[0]) + iou_y1 = np.maximum(a[1], b[1]) + iou_x2 = np.minimum(a[2], b[2]) + iou_y2 = np.minimum(a[3], b[3]) + iou_w = max(iou_x2 - iou_x1, 0) + iou_h = max(iou_y2 - iou_y1, 0) + area_iou = iou_w * iou_h + iou = area_iou / (area_a + area_b - area_iou) + return iou + + +def hog(gray): + h, w = gray.shape + # Magnitude and gradient + gray = np.pad(gray, (1, 1), 'edge') + + gx = gray[1:h+1, 2:] - gray[1:h+1, :w] + gy = gray[2:, 1:w+1] - gray[:h, 1:w+1] + gx[gx == 0] = 0.000001 + + mag = np.sqrt(gx ** 2 + gy ** 2) + gra = np.arctan(gy / gx) + gra[gra<0] = np.pi / 2 + gra[gra < 0] + np.pi / 2 + + # Gradient histogram + gra_n = np.zeros_like(gra, dtype=np.int) + + d = np.pi / 9 + for i in range(9): + gra_n[np.where((gra >= d * i) & (gra <= d * (i+1)))] = i + + N = 8 + HH = h // N + HW = w // N + Hist = np.zeros((HH, HW, 9), dtype=np.float32) + for y in range(HH): + for x in range(HW): + for j in range(N): + for i in range(N): + Hist[y, x, gra_n[y*4+j, x*4+i]] += mag[y*4+j, x*4+i] + + ## Normalization + C = 3 + eps = 1 + for y in range(HH): + for x in range(HW): + #for i in range(9): + Hist[y, x] /= np.sqrt(np.sum(Hist[max(y-1,0):min(y+2, HH), max(x-1,0):min(x+2, HW)] ** 2) + eps) + + return Hist + +def resize(img, h, w): + _h, _w = img.shape + ah = 1. * h / _h + aw = 1. * w / _w + y = np.arange(h).repeat(w).reshape(w, -1) + x = np.tile(np.arange(w), (h, 1)) + y = (y / ah) + x = (x / aw) + + ix = np.floor(x).astype(np.int32) + iy = np.floor(y).astype(np.int32) + ix = np.minimum(ix, _w-2) + iy = np.minimum(iy, _h-2) + + dx = x - ix + dy = y - iy + + out = (1-dx) * (1-dy) * img[iy, ix] + dx * (1 - dy) * img[iy, ix+1] + (1 - dx) * dy * img[iy+1, ix] + dx * dy * img[iy+1, ix+1] + out[out>255] = 255 + + return out + + +class NN: + def __init__(self, ind=2, w=64, w2=64, outd=1, lr=0.1): + self.w2 = np.random.randn(ind, w) + self.b2 = np.random.randn(w) + self.w3 = np.random.randn(w, w2) + self.b3 = np.random.randn(w2) + self.wout = np.random.randn(w2, outd) + self.bout = np.random.randn(outd) + self.lr = lr + + def forward(self, x): + self.z1 = x + self.z2 = self.sigmoid(np.dot(self.z1, self.w2) + self.b2) + self.z3 = self.sigmoid(np.dot(self.z2, self.w3) + self.b3) + self.out = self.sigmoid(np.dot(self.z3, self.wout) + self.bout) + return self.out + + def train(self, x, t): + # backpropagation output layer + out_d = 2*(self.out - t) * self.out * (1 - self.out) + out_dW = np.dot(self.z3.T, out_d) + out_dB = np.dot(np.ones([1, out_d.shape[0]]), out_d) + self.wout -= self.lr * out_dW + self.bout -= self.lr * out_dB[0] + + w3_d = np.dot(out_d, self.wout.T) * self.z3 * (1 - self.z3) + w3_dW = np.dot(self.z2.T, w3_d) + w3_dB = np.dot(np.ones([1, w3_d.shape[0]]), w3_d) + self.w3 -= self.lr * w3_dW + self.b3 -= self.lr * w3_dB[0] + + # backpropagation inter layer + w2_d = np.dot(w3_d, self.w3.T) * self.z2 * (1 - self.z2) + w2_dW = np.dot(self.z1.T, w2_d) + w2_dB = np.dot(np.ones([1, w2_d.shape[0]]), w2_d) + self.w2 -= self.lr * w2_dW + self.b2 -= self.lr * w2_dB[0] + + def sigmoid(self, x): + return 1. / (1. + np.exp(-x)) + +# crop and create database + +Crop_num = 200 +L = 60 +H_size = 32 +F_n = ((H_size // 8) ** 2) * 9 + +db = np.zeros((Crop_num, F_n+1)) + +for i in range(Crop_num): + x1 = np.random.randint(W-L) + y1 = np.random.randint(H-L) + x2 = x1 + L + y2 = y1 + L + crop = np.array((x1, y1, x2, y2)) + + _iou = np.zeros((3,)) + _iou[0] = iou(gt, crop) + #_iou[1] = iou(gt2, crop) + #_iou[2] = iou(gt3, crop) + + if _iou.max() >= 0.5: + cv2.rectangle(img, (x1, y1), (x2, y2), (0,0,255), 1) + label = 1 + else: + cv2.rectangle(img, (x1, y1), (x2, y2), (255,0,0), 1) + label = 0 + + crop_area = gray[y1:y2, x1:x2] + crop_area = resize(crop_area, H_size, H_size) + _hog = hog(crop_area) + + db[i, :F_n] = _hog.ravel() + db[i, -1] = label + + #cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0,0), 1) + +#cv2.imshow("re", img) +#cv2.waitKey(0) + +#print(db[:, :F_n].shape) +#print(db[:, -1][..., None].shape) + +## training neural network +nn = NN(ind=F_n, lr=0.01) +for i in range(10000): + nn.forward(db[:, :F_n]) + nn.train(db[:, :F_n], db[:, -1][..., None]) + + +# read detect target image +img2 = cv2.imread("imori_many.jpg") +H2, W2, C2 = img2.shape + +# Grayscale +gray2 = 0.2126 * img2[..., 2] + 0.7152 * img2[..., 1] + 0.0722 * img2[..., 0] + +# [h, w] +recs = np.array(((42, 42), (56, 56), (70, 70)), dtype=np.float32) + +detects = np.ndarray((0, 5), dtype=np.float32) + +# sliding window +for y in range(0, H2, 4): + for x in range(0, W2, 4): + for rec in recs: + dh = int(rec[0] // 2) + dw = int(rec[1] // 2) + x1 = max(x-dw, 0) + x2 = min(x+dw, W2) + y1 = max(y-dh, 0) + y2 = min(y+dh, H2) + region = gray2[max(y-dh,0):min(y+dh,H2), max(x-dw,0):min(x+dw,W2)] + region = resize(region, H_size, H_size) + region_hog = hog(region).ravel() + + score = nn.forward(region_hog) + if score >= 0.7: + cv2.rectangle(img2, (x1, y1), (x2, y2), (0,0,255), 1) + detects = np.vstack((detects, np.array((x1, y1, x2, y2, score)))) + #if pred == 0: + # cv2.rectangle(img2, (x1, y1), (x2, y2), (0,0,255), 1) + print(y, x) + +print(detects) + + +def nms(bboxes, iou_th=0.5, select_num=None, prob_th=None): + + bboxes[:, 2] = bboxes[:, 2] - bboxes[:, 0] + bboxes[:, 3] = bboxes[:, 3] - bboxes[:, 1] + + # Sort by bbox's score. High -> Low + sort_inds = np.argsort(bboxes[:, -1])[::-1] + + processed_bbox_ind = [] + return_inds = [] + + unselected_inds = sort_inds.copy() + + while len(unselected_inds) > 0: + process_bboxes = bboxes[unselected_inds] + argmax_score_ind = np.argmax(process_bboxes[::, -1]) + max_score_ind = unselected_inds[argmax_score_ind] + return_inds += [max_score_ind] + unselected_inds = np.delete(unselected_inds, argmax_score_ind) + + base_bbox = bboxes[max_score_ind] + compare_bboxes = bboxes[unselected_inds] + + base_x1 = base_bbox[0] + base_y1 = base_bbox[1] + base_x2 = base_bbox[2] + base_x1 + base_y2 = base_bbox[3] + base_y1 + base_w = np.maximum(base_bbox[2], 0) + base_h = np.maximum(base_bbox[3], 0) + base_area = base_w * base_h + + # compute iou-area between base bbox and other bboxes + iou_x1 = np.maximum(base_x1, compare_bboxes[:, 0]) + iou_y1 = np.maximum(base_y1, compare_bboxes[:, 1]) + iou_x2 = np.minimum(base_x2, compare_bboxes[:, 2] + compare_bboxes[:, 0]) + iou_y2 = np.minimum(base_y2, compare_bboxes[:, 3] + compare_bboxes[:, 1]) + iou_w = np.maximum(iou_x2 - iou_x1, 0) + iou_h = np.maximum(iou_y2 - iou_y1, 0) + iou_area = iou_w * iou_h + + compare_w = np.maximum(compare_bboxes[:, 2], 0) + compare_h = np.maximum(compare_bboxes[:, 3], 0) + compare_area = compare_w * compare_h + + # bbox's index which iou ratio over threshold is excluded + all_area = compare_area + base_area - iou_area + iou_ratio = np.zeros((len(unselected_inds))) + iou_ratio[all_area < 0.9] = 0. + _ind = all_area >= 0.9 + iou_ratio[_ind] = iou_area[_ind] / all_area[_ind] + + unselected_inds = np.delete(unselected_inds, np.where(iou_ratio >= iou_th)[0]) + + if prob_th is not None: + preds = bboxes[return_inds][:, -1] + return_inds = np.array(return_inds)[np.where(preds >= prob_th)[0]].tolist() + + # pick bbox's index by defined number with higher score + if select_num is not None: + return_inds = return_inds[:select_num] + + return return_inds + +detects = detects[nms(detects, iou_th=0.7)] + +#print(db) +cv2.imshow("", img2) +cv2.waitKey(0) diff --git a/yobi/hog.py b/yobi/hog.py new file mode 100644 index 00000000..36f723b9 --- /dev/null +++ b/yobi/hog.py @@ -0,0 +1,84 @@ +import cv2 +import numpy as np +import matplotlib.pyplot as plt +from glob import glob + +img = cv2.imread("imori.jpg").astype(np.float32) +H, W, C = img.shape + +# Grayscale +gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0] + +def hog(gray): + # Magnitude and gradient + gray = np.pad(gray, (1, 1), 'edge') + + gx = gray[1:H+1, 2:] - gray[1:H+1, :W] + gy = gray[2:, 1:W+1] - gray[:H, 1:W+1] + gx[gx == 0] = 0.000001 + + mag = np.sqrt(gx ** 2 + gy ** 2) + gra = np.arctan(gy / gx) + gra[gra<0] = np.pi / 2 + gra[gra < 0] + np.pi / 2 + + # Gradient histogram + gra_n = np.zeros_like(gra, dtype=np.int) + + d = np.pi / 9 + for i in range(9): + gra_n[np.where((gra >= d * i) & (gra <= d * (i+1)))] = i + + + N = 8 + HH = H // N + HW = W // N + Hist = np.zeros((HH, HW, 9), dtype=np.float32) + for y in range(HH): + for x in range(HW): + for j in range(N): + for i in range(N): + Hist[y, x, gra_n[y*4+j, x*4+i]] += mag[y*4+j, x*4+i] + + ## Normalization + C = 3 + eps = 1 + for y in range(HH): + for x in range(HW): + #for i in range(9): + Hist[y, x] /= np.sqrt(np.sum(Hist[max(y-1,0):min(y+2, HH), max(x-1,0):min(x+2, HW)] ** 2) + eps) + + return Hist + + +train = glob("../Question_81_90/train_*") +train.sort() + +fs = np.zeros((len(train), 16*16*9)) +ls = np.zeros((len(train))) + +for i, path in enumerate(train): + img = cv2.imread(path).astype(np.float32) + # Grayscale + gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0] + fs[i] = hog(gray).ravel() + ls[i] = 0 if 'akahara' in path else 1 + +from sklearn import svm +clf = svm.SVC(kernel='linear') +clf.fit(X=fs, y=ls) + + +img = cv2.imread("imori.jpg").astype(np.float32) +gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0] + +f = hog(gray).ravel() +f = f[None, ...] +print(clf.predict(f)) + + +img = cv2.imread("madara.jpg").astype(np.float32) +gray = 0.2126 * img[..., 2] + 0.7152 * img[..., 1] + 0.0722 * img[..., 0] + +f = hog(gray).ravel() +f = f[None, ...] +print(clf.predict(f)) diff --git a/yobi/neural.py b/yobi/neural.py new file mode 100644 index 00000000..4ddb6411 --- /dev/null +++ b/yobi/neural.py @@ -0,0 +1,118 @@ +import numpy +import math +import random +from matplotlib import pyplot + +class Neural: + + # constructor + def __init__(self, n_input, n_hidden, n_output): + self.hidden_weight = numpy.random.random_sample((n_hidden, n_input + 1)) + self.output_weight = numpy.random.random_sample((n_output, n_hidden + 1)) + self.hidden_momentum = numpy.zeros((n_hidden, n_input + 1)) + self.output_momentum = numpy.zeros((n_output, n_hidden + 1)) + + +# public method + def train(self, X, T, epsilon, mu, epoch): + self.error = numpy.zeros(epoch) + N = X.shape[0] + for epo in range(epoch): + for i in range(N): + x = X[i, :] + t = T[i, :] + + self.__update_weight(x, t, epsilon, mu) + + self.error[epo] = self.__calc_error(X, T) + + + def predict(self, X): + N = X.shape[0] + C = numpy.zeros(N).astype('int') + Y = numpy.zeros((N, X.shape[1])) + for i in range(N): + x = X[i, :] + z, y = self.__forward(x) + + Y[i] = y + C[i] = y.argmax() + + return (C, Y) + + + def error_graph(self): + pyplot.ylim(0.0, 2.0) + pyplot.plot(numpy.arange(0, self.error.shape[0]), self.error) + pyplot.show() + + +# private method + def __sigmoid(self, arr): + return numpy.vectorize(lambda x: 1.0 / (1.0 + math.exp(-x)))(arr) + + + def __forward(self, x): + # z: output in hidden layer, y: output in output layer + z = self.__sigmoid(self.hidden_weight.dot(numpy.r_[numpy.array([1]), x])) + y = self.__sigmoid(self.output_weight.dot(numpy.r_[numpy.array([1]), z])) + + return (z, y) + + def __update_weight(self, x, t, epsilon, mu): + z, y = self.__forward(x) + + # update output_weight + output_delta = (y - t) * y * (1.0 - y) + _output_weight = self.output_weight + self.output_weight -= epsilon * output_delta.reshape((-1, 1)) * numpy.r_[numpy.array([1]), z] - mu * self.output_momentum + self.output_momentum = self.output_weight - _output_weight + + # update hidden_weight + hidden_delta = (self.output_weight[:, 1:].T.dot(output_delta)) * z * (1.0 - z) + _hidden_weight = self.hidden_weight + self.hidden_weight -= epsilon * hidden_delta.reshape((-1, 1)) * numpy.r_[numpy.array([1]), x] + self.hidden_momentum = self.hidden_weight - _hidden_weight + + + def __calc_error(self, X, T): + N = X.shape[0] + err = 0.0 + for i in range(N): + x = X[i, :] + t = T[i, :] + + z, y = self.__forward(x) + err += (y - t).dot((y - t).reshape((-1, 1))) / 2.0 + + return err + + +if __name__ == '__main__': + + X = numpy.array([[0, 0], [0, 1], [1, 0], [1, 1]]) + T = numpy.array([[1, 0], [0, 1], [0, 1], [1, 0]]) + N = X.shape[0] # number of data + + input_size = X.shape[1] + hidden_size = 2 + output_size = 2 + epsilon = 0.1 + mu = 0.9 + epoch = 10000 + + nn = Neural(input_size, hidden_size, output_size) + nn.train(X, T, epsilon, mu, epoch) + nn.error_graph() + + C, Y = nn.predict(X) + + for i in range(N): + x = X[i, :] + y = Y[i, :] + c = C[i] + + print(x) + print(y) + print(c) + print("") diff --git a/yobi/neuralnet.py b/yobi/neuralnet.py new file mode 100644 index 00000000..85a526ed --- /dev/null +++ b/yobi/neuralnet.py @@ -0,0 +1,101 @@ +import numpy as np + +np.random.seed(4) + +class NN: + def __init__(self, ind=2, w=10, outd=1, lr=1): + self.w2 = np.random.randn(ind, w) + self.w3 = np.random.randn(w, outd) + self.b2 = np.random.randn(w) + self.b3 = np.random.randn(1) + self.lr = lr + + def forward(self, x): + self.z1 = x + #self.z1 = np.hstack((x, [1])) + # add bias + self.z2 = sigmoid(np.dot(self.z1, self.w2) + self.b2) + # add bias + #self.z2 = np.hstack((self.z2, [1])) + self.z3 = np.dot(self.z2, self.w3) + self.b3 + self.out = sigmoid(self.z3) + return self.out + + def backward(self, x, t): + #w3_d = (self.out * (1 - self.out)) * (self.out - y) + #xw3_delta = np.dot(self.w3.T * (self.out - xy), (self.out) * (1 - self.out)) + #w3_dW = w3_d * self.z2.T[..., None] + #w3_dB = w3_d + + w3_d = 2 * (self.out - t) * sigmoid_derivative(self.out) + print(self.w3.shape) + print(w3_d.shape) + print(self.w3.T.shape) + w3_dW = np.dot(self.w2.T, w3_d) + w3_dB = w3_d + + self.w3 -= self.lr * w3_dW + self.b3 -= self.lr * w3_dB + + #w2_d = np.dot((self.z2 * (1 - self.z2))[..., None], (self.z3.T * w3_d)) + w2_d = np.dot(self.z3.T, w3_d) * (self.z2) * (1 - self.z2) + w2_dW = w2_d[..., None] * self.z1 + w2_dB = w2_d + + self.w2 += self.lr * w2_dW + self.b2 += self.lr * w2_dB + + def train(self, x, t): + self.forward(x) + self.backward(x, t) + + +class NeuralNetwork: + def __init__(self, x, y): + self.input = x + self.weights1 = np.random.rand(self.input.shape[1],4) + self.weights2 = np.random.rand(4,1) + self.y = y + self.output = np.zeros(self.y.shape) + + def feedforward(self): + self.layer1 = sigmoid(np.dot(self.input, self.weights1)) + self.output = sigmoid(np.dot(self.layer1, self.weights2)) + + def backprop(self): + # application of the chain rule to find derivative of the loss function with respect to weights2 and weights1 + d_weights2 = np.dot(self.layer1.T, (2*(self.y - self.output) * sigmoid_derivative(self.output))) + d_weights1 = np.dot(self.input.T, (np.dot(2*(self.y - self.output) * sigmoid_derivative(self.output), self.weights2.T) * sigmoid_derivative(self.layer1))) + + # update the weights with the derivative (slope) of the loss function + self.weights1 += d_weights1 + self.weights2 += d_weights2 + + +def sigmoid(x): + return 1. / (1. + np.exp(-x)) + +def sigmoid_derivative(x): + return sigmoid(x) * (1. - sigmoid(x)) + +trainx = np.array(((0,0), (0,1), (1,0), (1,1)), dtype=np.float32) +trainy = np.array((0, 1, 1, 0), dtype=np.float32) + +nn = NN() + +nn2 = NeuralNetwork(trainx, trainy) + +for i in range(10000): + """ + for j in range(4): + nn.train(trainx[j%4], trainy[j%4]) + #print("epoch: " , i) + for j in range(4): + if i == 0 or i == 9999: + print(nn.forward(trainx[j]), end=' ') + #print() + """ + nn2.feedforward() + nn2.backprop() + + print(nn2.output) diff --git a/yobi/neuralnet2.py b/yobi/neuralnet2.py new file mode 100644 index 00000000..014fcb60 --- /dev/null +++ b/yobi/neuralnet2.py @@ -0,0 +1,43 @@ +import numpy as np + +def sigmoid(x): + return 1.0/(1+ np.exp(-x)) + +def sigmoid_derivative(x): + return x * (1.0 - x) + +class NeuralNetwork: + def __init__(self, x, t): + self.z1 = x + self.w2 = np.random.rand(self.z1.shape[1],3) + self.w3 = np.random.rand(3,1) + self.t = t + self.out = np.zeros(self.t.shape) + + def feedforward(self): + self.z2 = sigmoid(np.dot(self.z1, self.w2)) + self.out = sigmoid(np.dot(self.z2, self.w3)) + + def backprop(self): + # application of the chain rule to find derivative of the loss function with respect to w3 and w2 + d_w3 = np.dot(self.z2.T, (2*(self.t - self.out) * sigmoid_derivative(self.out))) + d_w2 = np.dot(self.z1.T, (np.dot(2*(self.t - self.out) * sigmoid_derivative(self.out), self.w3.T) * sigmoid_derivative(self.z2))) + + # update the weights with the derivative (slope) of the loss function + self.w2 += d_w2 + self.w3 += d_w3 + + +if __name__ == "__main__": + X = np.array([[0, 0], + [0, 1], + [1, 0], + [1, 1]]) + y = np.array([[0],[1],[1],[0]]) + nn = NeuralNetwork(X,y) + print(X.shape, y.shape) + for i in range(15000): + nn.feedforward() + nn.backprop() + + print(nn.out) diff --git a/yobi/nn.py b/yobi/nn.py new file mode 100644 index 00000000..485431eb --- /dev/null +++ b/yobi/nn.py @@ -0,0 +1,52 @@ +import numpy as np + +np.random.seed(0) + + +class NN: + def __init__(self, ind=2, w=64, outd=1, lr=0.1): + self.w2 = np.random.randn(ind, w) + self.b2 = np.random.randn(w) + self.wout = np.random.randn(w, outd) + self.bout = np.random.randn(outd) + self.lr = lr + + def forward(self, x): + self.z1 = x + self.z2 = self.sigmoid(np.dot(self.z1, self.w2) + self.b2) + self.out = self.sigmoid(np.dot(self.z2, self.wout) + self.bout) + return self.out + + def train(self, x, t): + # backpropagation output layer + out_d = 2*(self.out - t) * self.out * (1 - self.out) + out_dW = np.dot(self.z2.T, out_d) + out_dB = np.dot(np.ones([1, out_d.shape[0]]), out_d) + self.wout -= self.lr * out_dW + self.bout -= self.lr * out_dB[0] + + # backpropagation inter layer + w2_d = np.dot(out_d, self.wout.T) * self.z2 * (1 - self.z2) + w2_dW = np.dot(self.z1.T, w2_d) + w2_dB = np.dot(np.ones([1, w2_d.shape[0]]), w2_d) + self.w2 -= self.lr * w2_dW + self.b2 -= self.lr * w2_dB[0] + + def sigmoid(self, x): + return 1. / (1. + np.exp(-x)) + +train_x = np.array([[0,0], [0,1], [1,0], [1,1]], dtype=np.float32) +train_t = np.array([[0], [1], [1], [0]], dtype=np.float32) + +nn = NN(ind=train_x.shape[1]) + +# training +for i in range(1000): + nn.forward(train_x) + nn.train(train_x, train_t) + +# test +for j in range(4): + x = train_x[j] + t = train_t[j] + print("in:", x, "pred:", nn.forward(x))