From bdbe0150cdb30a15662627fd3a2619f5092f9506 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 09:42:04 +0000 Subject: [PATCH 01/19] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20LANENET=5FID1251=5Ff?= =?UTF-8?q?or=5FACL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ACL_TensorFlow/contrib/cv/LANENET_ID1251_for_ACL/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ACL_TensorFlow/contrib/cv/LANENET_ID1251_for_ACL/.keep diff --git a/ACL_TensorFlow/contrib/cv/LANENET_ID1251_for_ACL/.keep b/ACL_TensorFlow/contrib/cv/LANENET_ID1251_for_ACL/.keep new file mode 100644 index 000000000..e69de29bb -- Gitee From 13dd3165d31c4311c7e76e7987375628de06e5f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 09:43:18 +0000 Subject: [PATCH 02/19] =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D=20ACL=5FTenso?= =?UTF-8?q?rFlow/contrib/cv/LANENET=5FID1251=5Ffor=5FACL=20=E4=B8=BA=20ACL?= =?UTF-8?q?=5FTensorFlow/contrib/cv/MNN-LANENET=5FID1251=5Ffor=5FACL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{LANENET_ID1251_for_ACL => MNN-LANENET_ID1251_for_ACL}/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ACL_TensorFlow/contrib/cv/{LANENET_ID1251_for_ACL => MNN-LANENET_ID1251_for_ACL}/.keep (100%) diff --git a/ACL_TensorFlow/contrib/cv/LANENET_ID1251_for_ACL/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep similarity index 100% rename from ACL_TensorFlow/contrib/cv/LANENET_ID1251_for_ACL/.keep rename to ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep -- Gitee From 7dd5c1a127293b142080b5b8244627cc7901410c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 09:53:06 +0000 Subject: [PATCH 03/19] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20=5F=5Fpycache=5F=5F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/.keep diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/.keep new file mode 100644 index 000000000..e69de29bb -- Gitee From 401e5d5812865701aafb7ac7700460c49dfb018f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 09:53:32 +0000 Subject: [PATCH 04/19] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../lanenet_postprocess.cpython-37.pyc | Bin 0 -> 10205 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/lanenet_postprocess.cpython-37.pyc diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/lanenet_postprocess.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/lanenet_postprocess.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6a76b7b5d8e296bdcaaac49170e062ad752e031b GIT binary patch literal 10205 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 Date: Sat, 3 Sep 2022 09:54:06 +0000 Subject: [PATCH 05/19] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../config/tusimple_lanenet.yaml | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/config/tusimple_lanenet.yaml diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/config/tusimple_lanenet.yaml b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/config/tusimple_lanenet.yaml new file mode 100644 index 000000000..460e2177f --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/config/tusimple_lanenet.yaml @@ -0,0 +1,125 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +AUG: + RESIZE_METHOD: 'stepscaling' # choice unpadding rangescaling and stepscaling + FIX_RESIZE_SIZE: [720, 720] # (width, height), for unpadding + INF_RESIZE_VALUE: 500 # for rangescaling + MAX_RESIZE_VALUE: 600 # for rangescaling + MIN_RESIZE_VALUE: 400 # for rangescaling + MAX_SCALE_FACTOR: 2.0 # for stepscaling + MIN_SCALE_FACTOR: 0.75 # for stepscaling + SCALE_STEP_SIZE: 0.25 # for stepscaling + TRAIN_CROP_SIZE: [512, 256] # crop size for training + EVAL_CROP_SIZE: [512, 256] # crop size for evaluating + CROP_PAD_SIZE: 32 + MIRROR: True + FLIP: False + FLIP_RATIO: 0.5 + RICH_CROP: + ENABLE: False + BLUR: True + BLUR_RATIO: 0.2 + MAX_ROTATION: 15 + MIN_AREA_RATIO: 0.5 + ASPECT_RATIO: 0.5 + BRIGHTNESS_JITTER_RATIO: 0.5 + CONTRAST_JITTER_RATIO: 0.5 + SATURATION_JITTER_RATIO: 0.5 +DATASET: + DATA_DIR: 'REPO_ROOT_PATH/data/training_data_example/' + IMAGE_TYPE: 'rgb' # choice rgb or rgba + NUM_CLASSES: 2 + TEST_FILE_LIST: 'REPO_ROOT_PATH/data/training_data_example/test.txt' + TRAIN_FILE_LIST: 'REPO_ROOT_PATH/data/training_data_example/train.txt' + VAL_FILE_LIST: 'REPO_ROOT_PATH/data/training_data_example/val.txt' + IGNORE_INDEX: 255 + PADDING_VALUE: [127.5, 127.5, 127.5] + MEAN_VALUE: [0.5, 0.5, 0.5] + STD_VALUE: [0.5, 0.5, 0.5] + CPU_MULTI_PROCESS_NUMS: 8 +FREEZE: + MODEL_FILENAME: 'model' + PARAMS_FILENAME: 'params' +MODEL: + MODEL_NAME: 'lanenet' + FRONT_END: 'bisenetv2' +# FRONT_END: 'vgg' + EMBEDDING_FEATS_DIMS: 4 + BISENETV2: + GE_EXPAND_RATIO: 6 + SEMANTIC_CHANNEL_LAMBDA: 0.25 + SEGHEAD_CHANNEL_EXPAND_RATIO: 2 +TEST: + TEST_MODEL: 'model/cityscapes/final' +TRAIN: + MODEL_SAVE_DIR: 'model/tusimple/' + TBOARD_SAVE_DIR: 'tboard/tusimple/' + MODEL_PARAMS_CONFIG_FILE_NAME: "model_train_config.json" + RESTORE_FROM_SNAPSHOT: + ENABLE: False + SNAPSHOT_PATH: '' + SNAPSHOT_EPOCH: 8 + BATCH_SIZE: 32 + VAL_BATCH_SIZE: 4 + EPOCH_NUMS: 905 + WARM_UP: + ENABLE: True + EPOCH_NUMS: 8 + FREEZE_BN: + ENABLE: False + COMPUTE_MIOU: + ENABLE: True + EPOCH: 1 + MULTI_GPU: + ENABLE: True + GPU_DEVICES: ['0', '1'] + CHIEF_DEVICE_INDEX: 0 +SOLVER: + LR: 0.001 + LR_POLICY: 'poly' + LR_POLYNOMIAL_POWER: 0.9 + OPTIMIZER: 'sgd' + MOMENTUM: 0.9 + WEIGHT_DECAY: 0.0005 + MOVING_AVE_DECAY: 0.9995 + LOSS_TYPE: 'cross_entropy' + OHEM: + ENABLE: False + SCORE_THRESH: 0.65 + MIN_SAMPLE_NUMS: 65536 +GPU: + GPU_MEMORY_FRACTION: 0.9 + TF_ALLOW_GROWTH: True +POSTPROCESS: + MIN_AREA_THRESHOLD: 100 + DBSCAN_EPS: 0.35 + DBSCAN_MIN_SAMPLES: 1000 +LOG: + SAVE_DIR: './log' + LEVEL: INFO -- Gitee From a5b79d9d8362937888d00fc03533f5261462dedc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 09:56:24 +0000 Subject: [PATCH 06/19] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20eval=5Fckpt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt/.keep diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt/.keep new file mode 100644 index 000000000..e69de29bb -- Gitee From f88803ed570d1834ccfd2bbc83dd8ea9a927e60f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 09:57:28 +0000 Subject: [PATCH 07/19] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../eval_output/mask_ckpt.jpg | Bin 0 -> 18738 bytes .../eval_output/mask_om.jpg | Bin 0 -> 18735 bytes .../eval_output/mask_pb.jpg | Bin 0 -> 18738 bytes .../eval_output/src_ckpt.jpg | Bin 0 -> 210631 bytes .../eval_output/src_om.jpg | Bin 0 -> 210631 bytes .../eval_output/src_pb.jpg | Bin 0 -> 210631 bytes ...07\346\234\254\346\226\207\346\241\243.txt" | 0 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_ckpt.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_om.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_pb.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/src_ckpt.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/src_om.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/src_pb.jpg create mode 100644 "ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_ckpt.jpg b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_ckpt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..542377b777fb0a06303a3b0d0c0d2204581dbc66 GIT binary patch literal 18738 zcmeFYcUV*1w=NnLq$xpM&hmpEEfb*%h*@Tj#06pa;z-7RdOLqX5=`UTOzjV<9 z;32h>{O{(G8v8HDrOQ{y$gfh6nn6RVPTM?^+N$0Vnurln_m%*@I!C@lJ1{H3I{ zx~8_SzM-+HxvRUUx3B-(z~K1A&>ZIa*ppRj; z@gAdQ;geeC$Nn+xZ_ECBhK2lZS@v&+{kvUrfNNJsLr8yx9smRop}+HE0D}Lw{NFzK z|JySFcfy%p0LX~vrAk7-ZbvTHo{?wfqS7w_y?j5*pI7Y-M8D5XT@|#8&+zI~ofg?q zx^V#rQ4E+n(GCO$VH-3jJjhnnt|k>~1v9GDdG={=U*=SZSO^1L`sMxj^m%tefR;#h z0xvsFWm4}9_ry`SGm2vSp6Sd>G z;W!4$Y0CVh!n^C2>|V&Qc+*?VL^(lgnEQJ#08#aMl65!{if%Z?Gt6loPwQ0WZsqP6 zO<?`jVBNdd6`Rz*KxdEi#Nvzvdn2+ zAdB{#`upWZ7<2T?hp+XSSdx~l_hHSy;&K;#@sfml7l4QyTu$B%T*?j=#y9tSu8nBf&^+T8Fwpe^ z;}h*=YV?4a1KZujn6ttzB0mv#8t6MEZ|YheXm@Jvm6$RHvU0ruRMAB%UB}I+;XYw5 zcdKKa#tRuNamM}iMl&Cf4D+V!eDT)FGV$}b&2)fzJB?A-Sx--3lLBaUW8RfYF!d<=@b0ZCSiujUPZ1STir6_pge%fUk@g{>ts zZ8j0nU4E&)^&ehj!*c7l?Mny~Jxan3CKgN*t@3F@l0_E)aps3PbtUyX2=9{b-ntN{ z&CksOGpqK@XAPK|C2;}+BazzJwR{v4+i{{qkF}jw@%gfuWsq0|+Wb(Mf1A(fec@L- zFOEp30#snqml0r+XLN-!r@gh(Zi4-9roGcWB5iy9cR!TR)08we4|wQE?-vG*{Sb*vmdw-rEH-9!nye>RLOvJ^efSy6C9 zi1@v&xS44dBM3J*?urro>+=86A~H$f#4|vqhzfY!wx$(bbJHp_pR zjIO}Aa6Zp!8sBNWP2blF^mpo$eCBXJn(-@G#4X!twd6G*_@s*mqd7VY>NZP3x=P>@ zd*~IfN>@)Ey-VU{dAWYYl}o%4pmxvrTEJa0u&N^}k;1-mu%;CM(gGP<>w83)IQ`f4{Z^st?MA+vv{X&+WOaHQA7CKGdQr zk<2R*rk)$RZ2o#)jbH24mA&>qKGz5`NaUEz!<#1dKyF1ZNmQi6%gLhIs$uszO_qZ@ zF3a0A+IGtE_P6swJ3$0DpAyP;2C(3G`3@@Yl_QpG{MV2V%kr9R2FYW4@!1i zJ@sCEv;xHm0?{5T*+FQf4OGvWTkhfd6SsWRZl~#?bqW(yo)lwg9QpdwURAbw9h*So z*x3t!2s|o*<57W_vBL$Rv2f1~&Of(VPaQyQF6Oa4jNh6#Hb0Le(%^Kq@P@dTOWW54 zgnAmxGGc5K)~p?c*sh`un^f*P(KL#!FWDyq>@h$lff!xnZ1t|2Z70hjbBalF@8j5I zVx-%>nH#Ntu@T1rCaTmFPK$6Ws$+dWd}3ggV)1MG%S;ZLHTce;j+RiQdSv zEM@jrNFE6{)Jy3A_?1d8gkwJY!em@OPE|mo1;&G%e&u8vZx^`M2$-z4Q}RJ#E&$yN zK!?3E2Cx^Yi|2tvtx8wT^Y#mXbK)G!09xrXn0pK?>mDoJ{t0#6Uq7g)A+2E8jfFSP z!%E|-e1z4b!LpN9iY4fdF$&HV2)TvJKCYnCRI-T`jZio>c_lRW`o{g`L z4*kkX2@>bo5VlBP;`gyP=xs-bh7oJBv9AbtzP&XzK4f7a_EOTccF%38(eJ5n$!M{Q$1goSSNXB~xFLwPlB4HASvX znnu|gg5p7W(mN2E&vh$N?f1ZT*x-#gg7M|P`m?-G)K5H|c#&V9{ITQueA5EH!;aH5 z8m@pF!+QnzbfwgXWAdkGELttQf>pgy;}oV6b&oq?w`7OQnd~VYSLyh1+juh^5>;FC zTZuc}lJoI_oe3JfYS-8jo#7zHZccW?S#8-5qV z6WgEIYK^^X<-r($v`8l&<(u?W3x9cL6;t|`Fs(+{J1V{-zAPdW)-j539i^blg3~h2 z>el=EQNz`jiZiJygi=xRgSzmOYgA-6)XUFA4&UC7;HHn~A1tUg<9DlYOI&H~XO8|Z z!R)%SzO7T{?w#$E`m6o!U6Cf)=@Z0Dw8yN+@p2U|BiJ5;M5W&U>6-ks%5-b!mWj0d zzG~OU%j_m@9b{$oOD$B-l)~|kiNhee3xJaXoBd3d>vgN|tXem1MvR9IZ`bz=C*gmF z=FWRl%Fhio)truko`OlPB_tHAf-#;w1jewyFv-r*RZ6psYQfakV{8aFbU~VtfIv(qUDgO%q@ZbUv38X}Ut{-rBRoFQ@kJ;c%2^_qD2wsFb=8*heP6XA<=vYQNXOckjIqe1F9v}38chZS15I;d6}%Fiu*mli zX5ti*dI!BL9SxUq9Vlp@@D&wau}k{alELf!f%7`w>x9CRdz9DyN=$B7gmgpcA#|H= zs6<-O1)xi-VBSn>E^VRhONjZS@=KyrNwEUsoNrU!RhkIC=wHJXcM~EXo?rvijf=G&gL6qS(5m&!oyN1bB6b*i(&3@TOm?UJfT66_LLUqqGEM;3drJH zDejvvBU})c9jTnPKHa;~&^TGUtrZ?`pY-z1RwvQP@FV4_8YS(FUSh|V2xb`Bp~G1b zd$y<@RTBE8e$8D^x4Gq|_EDYI8x8KO!G|`>_f!?Oe*t64GN#PEW#xKL;#W%r_9{x} z^EG&CVD!MHDA?DGcu4;RfO7gh%7ZdEd-wpcd=tw#blf)YwI1B&?$zMjHv$W8a6k1U zOkh`tl=Rq_-4_6tX@sLk>|4hubOzd|H$NbT(Keu}l4EgEJ_Rhx@O6;Y>-GB(SenVs z>1YQJ=H=cza=9{IEPNR`2eN1iF;CA$f+CPcALR}8SzLb?CB3A+|2`zdkMByVkqWDp9ruDt?XZ9v5Em5@$?H&Ct z3iMT-ovK$xU5_`GA_*)M$2W0PzT7EZSlW%w=CBz_6>?ZSnq}lBgZP6HS;2j?zQ}b$ zhUev`e&MGnzAz?IK$k}>tvtx;s!z3BpO2(J5PT6itUy zuWbo_`ThGs9w^xjTyA}ki*FE=2Xk;Xs7 zZ8QqQIiB;H4sS~|3dZyaKI@hg=KVIyd@?H=3*m80G1#=VrD{)OES^R(C5L+C>%Tq+ zMiSm&8lu)qUJTpnch9$#czj#DU5qeH2~)@O8W!SHH&q zA8sGj;mg+oDD6n5kd6nd^3Z5cR!Fl|Rur}$OXcJy4UU1H6CRN~tN~=aU3k9|Y_Al# z9H8{8%Az;;OYrAa<^A+5sRlYuj0u_Zi}a_oKa_dEI1&~h%fwME!>X(ZPqAW6sGu*3 zqxI&eL-zJQxt&0N76C6}Nr=9FJFgU0JhZxYq9@4I?{gDk-|hAq7Q*WI{C+_6 zVMEF3lvO5X<5>2*7$V|aY>EMOju>e@AbX(f|0U2*!a_wjT`j!QOhWR*gO5W1>Xi5) z*pFCk-DCFigo@pY*S>TV0VIs|{GDhv9wmV<@09-)oo)B%QMo;)PP zy;P0_5FQ-Qi$}I|%qZ&mQe+$}B=Wy5uk@)!?C}o|)Ut4O4hc{UD$k5)^(YB`x2(Qb zsvkS&D?WI<_^ZlHio~c7{bxCY_2Yr4(NzTe$3BP>+IdS!ba6|UH4!3$^UT}V!eXJW0juoY69eMPM<3x1(;7s#vkzFMJx@pA}qke<4350*TEB`DzGpW!ZN<@&V?vss@ z4JV%)78(Vr>;FS*MiTo#>_>lSP5JKYa(BodTGQgKLEiX>*1W%0nAXAf4scK^vgf@> zznoJfUb=jnrQThU)T13mfsngW+tVdjjc_JCkg5%np57Y1qWHw=CMd%I=k5Bk}9+KM7B*7cjR#r_a;(KJC~k0&}sdu3Gm7 zJ@?^O1+~`Xe)xtl6;b=UPQ8``h1v2js(=T*R*KUvyNR?v#OgR3I``f3MXR)g_k6}~ zu)MI0(#unalRDM$0`PN28|Pf!y#k8jNUJ2pL&CICIyS}4`Ic?8vdlGje36DBrT1eS z=Ez`7%JSV1B>?V@77a~QYPl7puEG)>_gzmzY&A!XBYxgkPA^%5KeN?*0##Q(3j^+E>yj*xtjjG#3O|$2)4p*^j)`?PUPI? zh9~A7!7| z$x%B1^`Oi4Ep)kYYAm7F`UQO1aORzc>Z_I?GUFY_>uXK{FMIQNF|tu;Me}7*E7$9) zUDo^+lYH)~eU!H_gHLXiklp9I@#Ib$7$FM}aiLp`bYFx`C4R?scb6ALuPCZW?^MZ* zyE-eyxR!4EI*Ut{2UFoSAzfCo6N+jjxb3B57;RCZ#qf!C{ycfY`tXO{O{Q1m$^0FZ zB?pA9_nhu42jS=8$7#Vz8KtJ$Za!`gRJ=UA*fs7XXySL-JJetTz$ASxb z5vhvh^Gr+L{7aPfuhKBp6moeZGC_uSJpxaRyU2HY)&jt8ccVI5P7;r5_VI}+0|6)U z%Q;~01fk-=zj-tkM%I3ZaAW4BGVXnTFbvIYUDX=# zgpbuJzP8pKc%?3+k+vw!pL%tB!%^qW=M`y(<_E`dV&XIj-F@xcE}rS7dj7g&e^me} za1(t%Iz=^)6*@pb&C4H0L8Jg@HzgHxDq8t!F)qH^wNB1h*%^T)Mo1hShD&yVjX@?D+7XX}`IPuAxWB=al9x({&>I$Ko z0wN^>Wn_7YO$F}F#Dj#fne|*|OyFqvFY>$v)cqTAu({8pPs)5I_uKvF1NX& z+%xl`PMaB53^5x$S^+x+t~Nxi-g_x5wb{c)6oaM~)$)UcN|uHm4;(*`z_@)JGWHo8 z842MscN#^}xVmQZ&?pVRbIbK$aFN2s`|UWqo4w+- zR5n7yt#>OoJ2ZYAE%^Od1L?D$bpcQ%SSd%P-wmy4#>vaT{?vepq;he_)Q`vQ*%bwk z{(#2ukgy>k%oq3$SbLX%B@T=!T9cI2M*ahMMdJAz-+9;b$w#a3k4mzn0Ta9cxQo9( z(UuW5aB<&u@h$XRJi`#!1!|qA-E4+Cx5{fZL%r|s`NEU@< zfH0%6#EG?2ASNlm>keLEVRoO`F+ID`=m;VGT#FxJzWuL16o8z7yNe38+k~+bskieO zLd>%RDtvE>=xLj=js1+aZ{)UMP)&-jh)Q;NWlocJ>1%>W|01(7Tr=HTN5q)Z$9!RK zanKv$&Io1nAIrh^o!`argBVp4oK;1PxvgByWa`p5l7qH3M-YL7+i9@0=IPjSoQG)( zW-qEXJNx?6u5~TfZO)$@LKUA?g|Xk_uJD#!E>b7E@uYMLKf3HO&v;CBUJjO9q>e>h z0NxYS?8{udoL9P)giV%GUNj*Ydt&Xs+)+IJ(EqjkHBFq*y+T?Z)F^?z;FtmTX=A|| za%qxqJIJS`Zmstu>?ktU554xuM2u`2)7#WZ#iY?-Q<`Q`f}~nmr=tRG5uT(^ca2VD zPu213Xjw&TeHwdzrn`pYQkx1W5bSwX`qsy<#lv=@exo#>Nk z4?gKY%rQQ1KaiHeD`lca#I$s4W^>p4EzL7qH;qqRyvST;9Zv7xAar7bh*U{RjOcs?JimP|kA@U4e(@Ck zYrOc+uf~R$lO_K?@fe~3j8=(lJ8PH$DGHl^{brV9PCfydtbtwYeYd6IcggTQAFV3~ zE>4LhyTr^z!qQwLc*j{@fj2Fm^aTA`T`D~Pi(u)QLQtQqg;UN(FUlvIhqt%P@eY1V z>gW^DUlkvbyx+~mCFtStclC6f$g*n~0{3aZO}V`b=DAXOp9p74MwJo6kA$P4UnRfWSlR(7#pTQR*EqJ^m5l4KB&UHh9S+ zOo?~0{79(B$SkcrNqqKZYd5>V(wArhx!ai^h0zL8o&B4AX_%E`h4TzVbrG=-0}OL7 zAjvG%(vKWaiy|}M!3!C(q8l3T#U>7NM8cOnMG|l%Fi9?Vo<_J*a$Q7c`Uu3RnKHsW zg!9p*W4g|H2`1?u&2Pkqc8V>b)_E+fI|S`{@!iLHe>Kx$>u!*yab4Ppo{_nDL)%JQ zX2WF31d(r?h^UMlz5vibmr`N1Jh7Dw&}feIv}H~Sg?>pb&xV^-x=%7nUP>MG|;SCh9N86`|u^U`{Y9yg%?Iy+Ryl2dyOX z1azZxS{DVd?M_$#^s18iFd_I_;VilMSM* zVd}I77a1$p64i)QD9Ls-i8g{O!R_j5ZJ7&gD$#6(Y4Z#9OnNGQJTjy+;6E1TL+H*4 zJ~*Ji+pH)fyj^OMG`W7qM`fGbPYHCA$uE!x9sQO`p1u0AwSMCkFL+ty&2p75CQW`* z0irvJ_4&>-7!XT|!EL!{nFH%s&Uz1_q4gyNhZ89OZqQ}o4<6dY@S`CF@Ht}Nz5M9r zL-ouFvWHsN;wlTglUv@&Yp`93fJXqG_GY1dz?#02D~k)H-*?JrG=Jp6Y0Hu6xArMX zRyLi$a23U_`sAChDbx`@hd@zuXzf*tXjeFi((pRT8kZ;a%sS9rxv{9_VPj6M93js> zH*}mB+J1|`dS0q{30mx&++F58(e+`QLwiS6zG8OrVHw=;mD}(LDW}iru-9-i+F8@+Uag(IZ2hO^!Z6GnE&qYa)=;Bk9sw#XE|42eH4oY))-Y#F)$e9~@Ts2*21VDHXdxpu`kOV8rt@Kp+lzkZ`ORSS7$Qw`Eb zUQd|Iv~kMST&ocs`8rCMP(WR~h|Mv`KXi2#sCRoSlh_FPgSG=m{SLhfb#z9sfZ3N} z9H!=h$T?P!qnmq2Ysp0&W@qquK!^`}YqAr6wp<46jU($fm9?vEqM5w*xzrE6H( zkUe+s9-0PTQ&~`Kie7wq@-@jz;K+c>99)S53TKM!--#j2%VR*@zfk*U@TwHNLE*C7 zaYF5hKkgxab=4`|jbLtq$mnU&k$Bk%aEx+}pj-x=Vd7%2LLbl9y96fL z?j&ak7bOZ@oYcb`BRb4_##Z>W6A%3aL=Jyf3u%A4~ zgE-!eAuQwZ8>|$|bhE7sYgT%;oiwL{xjnLNt*KVBn`Mmi0fncbXAk);Sb-7;sVl$; zXC&={b2@?%!XBX9(;Qs%HC8W3y?A18@7FT}O$P>zYwjS|ujawU>xKs3M2;xBJaA&r z9oH3@zz~Wb9^K05E!CU1AFQP*o9^nfPtg#grOY?(J#4th)_u<|H|{CDBT)gk)#o5RG*kI@Q0#K~0<-1Pa%cB9InUNYQSvP1NOt!$crHL8WHRK=G)vW_>I>8sA zYyrANDm2~)X%S#<){Jw;(iv+@D9*kKb{StWtgngj^{Pfq>(+MPNPkQ_V<@0seCH`$ z99Wa2ZQYFx^YxGd)aP;g^j@VVrPF?aC-qZGBmK zFcO2dZ(B(0KNH#IA#tN8qjRuM*xbX6E)RB`V_&+_qV91pe2!CR(nIz&9lqp!L!#}2 zJa>rQ^TfdoVvx!|@zrSHDij-4z*ZlJ*+0a**shqEhNfx-z zOY;vT2Wp1y3%CC6Pv=}Q6mA+7X+c7`NKeTvMMk&JnGjKe@sx)+e+a`Z%&LUBiksNP zIy_Ty(9z-pbNw^V!nD(`%?M`1QU!vFAW|Wafhp_ASiJZC!EwB1P)+eu?=QxKbd28! z8Agjqq+s7|7r;s)AVM1?1(6ZW0S))1;h}OKKhKw7iT7w;`;-z+=OwnzaOW_Yp6XZc zS0zhCbZNV|7q5;)0&QwtOSQ9~^TDL<8t19NTbT|$;sLQ;ZH|Sf+IYtlqosnt3KU~% zy6PYL1cKZUSc|SLHYJ;q$aa4d?{V@|&0YQ{-&xuIV9g>#b>w@+pZ63kgHZ}!#IxpH zL3GZQc)#7@vU`gbl4@xHN%i>#A&W|N!W0&o(CUVz(AReCZAKB`>+}q9trW=>CRRiK zsZlK$i>N2cZ+{5RfTo?t3p>v@xP2#afO`k4NAxH<-(Qxno? zETpxCQ@8X@-pByeiPQzPwaKWj=iO=3UL}S5;3rXfDolWXRE&c$%E$g#L_g<%-I$q( zsMxrn)`$_>+$LF7|31YYAGN>RH-N2=*xG0iM)vqF);LO9M3(_rp*J zs==Jp{GG7`UOHvgrv|Pnnhe@fQxm#x#!mKjX7JVl3M=rW4VL1OnyWm$u`#Aj5lvK-XMWx$kQ@35wRUtloA#zI-?{Z2q`fqpI>(BE@K;bXs zd{$9L2vN?=%uMQM43J^IA%o@o3oDvFkI{!hRQN-TDMaPPuu?Wnrgha}J3IkdK&*!Z z`2%T319%mexjNSg_egaA(W5!@+7uiL@5(o|;_nJBL5))35<3=oTQC{1Z=%bkIjQ3O zjcVREak7)qcMFl-==jhPLPf?g3Li_Hqd2y~LGe$1c8j%6n7AB!Hk)j-xU}1pT(6fm zNL=jU+MWOK=0*bh-lT~fjKK}jQctjh%oOwPEfO~Y`V0}>|Kgumlw50k{;tS9!TlQc>9Vxr>Jb@X{-{_Xmt>$@@CcelgDnCYKP>Jx5 zlCnj9DcvMFTuq=mGW-JYM+|d4&cRBL&bJ~Ihzvp#Ci69Ziin27MO~!)Y=a-GpI@b- zQp~}@wPN9s%^*czO2b6wz6X}vtd$PRF`J$iB?dGAQGqV{mlqIv9A&Ou4MR*xSjJIOjh|%xX%VQ}pAJ48s+x@yb z!s)NK*53Si7jh0ZJWsd)*n;Nz`sg@t7l37o2(a3D#c}Xc9!BTaubL)#_hp{0ACHWi zq9mB-uEm9s-MU$-HVVTm!G7)$V|05E1TN@fgcS<(_S)&%Uiq-8Hjh=%= zRyy|2q3V2tTwD2~+Jjr)e}XxsKW(>>>FUk69%|Kg0ib(N!V)nTfU)iiz*YX!B5-E><3GA$~hWT z$f?I-%&jCX<}5|{z!Rjoe%N^)_8*zof4#PZc0u1GZV)B6Kz5jfl#2@sY+$$m&sfQ9hXAVQQVOos$w#uv9T zyo9Y>NRIO-Kr-na(4XD9#a-hrXJ&n+oX4E(aaRov8tA{o6G^WURIbLT=3A0+ofanZ zc#f4!>rVVES-9#P?fy-QwI&$-daGVcpr20G=b1LqY)f;f1Mu|0JY48}t%GZ`nbX4jvBBO*@!dL0P(OUmzYB5YZsfDZvC6tfR$G%6 zPwW{f3rvQyWfco=Hq8rMF5~)4`{M~bQHc-y5{u{!eybhS_ja;@Y;e@gsj_SFhs+Os zKE5zELy8tR@>s5v$e^IW5-aU5Te9B2EG#s~brttn18*jnW+w6_Yw+!Bd@0+(LBsb6 z5m~9m(&nzRr~G4YUC!#EQUPr%2-bkA_%z{(H}|QHBe=y?+=}!y?&_O?7Ef&U2G|zr z|EMqhsDGDU{-X@@U#}^Cz^YHsZIuLR;t0+kD^HwX{^)b&t7j9%x@1k5Bo=+`oD8e*jz+pM05Y9f=+EZ3WYLEpu82=@@>bnw3M{` z3b>N2{RVhV=?3m#S#+RLG{TK?rz9{#+`ZU4_ zc#q(8{+D7P7OwAs-X5*l)U%Xoh9q9%wnT6~aR9J`*iW-RInFW3%;8)D{TaL}oQ(T` zj*$y*jEFnFZtcnG>9dE>senaE%u5nyK~;a}NSt{P>#dD=t7%zgsChr^&eWP}%Er2e zrVt*xhj2p9Qy-wnbCK^LTq>gJiF_3|r$1Yi&xOfdak99=^xEH!!F0w+;nEu=dKKm~ zKhv~V-eBQR;qe7CEy43!q~Md59*IG4VNaL>;`4@NMqTlmiRy(Fl&a`2Pes&wK_d-; z8iU$@=JIbC$A5L`|5#yrS7r2#$xdy_o zUE)1htW^|3jnd;dd;Ic5G3jvWhyv^T$ zAF{)L;|Nx#yHjC{SN=Kcl4Vs#n^EcPIhcOJFc+DyCBtrFZ+%c22`IbXd1YWs)rA{Q1||?0i}e;XJ?D zBL+%AyandKa^-Ph7el3MsB%R;jAUeHVm@gE*xjOHr42i=?6`0AjcWwly8O_`E4fB( z_vdRJ9`?xiw~YE>X%jk|Z~@XVYc&2NruC2SSz$&aeD~P4r`y>ueHo(Y^PP6fx?0}! zM;Zf5fJ^)&%8~q-Z1THjF@=x6}{8t=URh*uh>DGpP9b2DJlcx48UwTDDzLwFU z3dgZ-C}{^yMo;3+Me{9)Y*j}088GYG1;CY4T;Q>ZWIsLGr@{A`m)~*SrQ<8)#lji}-@O}*DR7`{@l{il=Q@#Rb27ACsoIQ?K{%0%~Aj+F@dK+_H2|EOb=96_{ULz`v(XO&XfJu(SkQjmW$jhG z*quDxAY5K{+v5G5>g{?i&Bp@J{X5Z} zJdHk0a(pG?;r_R)D)7?8pH>n$=G6dQqfoqY7uvtwRdyh6#9U#dh6P|B<-=)jQquW! z=jb@G8x)PCML5x29;ytmY)5|9Z64LDK~#%W&G9>nuBvf@Xl`Avt>*eb#e7&P4+-Lg z`&Imr@?lY3aJB%wsAC^1}s)fEr#@+b#yBCVzUtGFk4;}lKMkL*1b#=RcVVwP3HF@ap(PaP>Qf9OicUL(&VlBRB+MFnbi~R3iU7f zG3$>y@?!)6|LbxDe-ElQjwgy}U2Q|L6^+%>$;c$5P%>JvjhX)I3#Oh=$kjd~#YdA6 z&St3obveZv+HI6W0Wt= zd7G69*=yVHMtl|x={c8GH5}OQUV3`C$b|8KM`Q>v(iZ7{=v$doWOkY%d+p$6S)Y{# z--l#RibdP5FI?n+0FQq0`B*%UK8dk+;?2!JM@kH!s1h@|3HLp2KUA8ijb=;ZH(#~C zow$l4AQe}hKl}QTQf_QJSgd7)s8~i?Pp=z2WDHkSz`%bGr0S!%#d=ih9j5YE0`~`s z1C~o>AGOVx*Z!@YN6sGWVLwq;LM-hg7aMpxmi;NTS= z<|@W+gN&(td@+}zRl@fzLwma|Ek{QumBJOK-B}Vnoa71r&lwN@k~Q~F-}3{KlVK-Wva8rN6JWJ=T$I$zw)K5SpUuEVhV?Z*A8?v zAFYcbdpdO(jGW7g&)@7Esr~NXImhb|faibhIK)0NEtd|G)7z^J>H|p_gfH;DrrWcj z_1o>Zwc=g5HhL3p28$@eWSUsUf3<3m&t zw=8CQx&M3HW8hz*4!ZNDNR&WH5m*wJT@;*c-aPN&QK5X#)gw^Qn0NT8@u1&a%w-Qc z-X$_J(O@0c2VLt1={#(8K}zw5^Nu)(+EV5onPU#)N5zdu{$C%2k0{*#cu+8f0HBg za)FNa%N}@4?n#3Q2&FAjSC%lUrLq4;PbJWCG5r5Ysr)Ywhw0d%rDKm->RVvsVRqT} zK+WphY{&RF9C-rsle+*0ub+&TkzJ#+6DWA^LI#B62RQyw%>{rl_}RybL?n;Mt6G>O zvyxf;MEuWfkQtc#JQpm25!cQ{i$QDaf?6vU;rA}fNNk8Oh?x)RT;k=cxt8+o6XYcj z^{auuSWs2dw^`*8>?CV$p&_^#jwJA&DPoJG8|O@7CX2#{@~Yu-^I4C+^cneb)xXr5 z?KfI`Qy~5T$BCyU={;LUd7`*ZU)MK3Q0fFAi4^}ltz9jN01Mo`&fOsU7k2)MTrv)ByC^$U6o-n z-CC4Xi+4_A0BA00-~QfZkWS5<0QmM|uzyWA4sjFgfi18iZ85iKPe*DqL{yDg=f<}+ zT6XHl(Fw5E+-6sZ;xwjKVx&rOB-qA8h~IaYdi#ha_tQ;(qC+{pjc#l4HddqySm6F7 zdYMQU=IS6@i#jdF_hjk!7@oXbb@`skSHv=>7ry#^;`rV9S4B1KgYTIBcV^of7{YYB z;kag$n1}zXuiiziwJYwE9v@kLsk@b-4)s7~YqJhC!rj7bCW5`e=o1f;?~C|JQp<6p z@isifG|CMa8XYL@eZ*$2R)z)F z^O*Q8z=6`I5CH-m%1v>ubm$=HWsfKmtcAU0Zp3*=DSb}YRpIWEl%5Ls6#qZ3(_AWE zMv?~%^>OTVYRA%NJ@$~LtK_W4lH^HEmqiSCyMDck-+;%fPp zzIAvvpL4|}#3#fRPohko_`_aie?)a_k0@@1lKaYS#JJtN2uw8+g4hQOYs2 zLtb3~qylK(;S&}&j!9B$iZ_<^ycxP_CyiNngHgNw>VcVLzYSc>RBpd5FM8o92)$M@ z%DSns;=$s1)mAOso7RkbF3hEQ3{e~7E3BNHHx`k4lwLVr8))`C{rLDmzcpKL(tWM5 zu`#VMFK|_CUxBOU0XGSgYpkZ|>8U`vk~P0w0A&9Uq4Ix()c@nXBjjw$aT6BNF|@5q zx0S)@0%2qX&PgRR4Y+fKj6d!tMP!eAxpAgAqu`ZY@kl5$@g~@GeBJ~Xh}zcHXTxsr z-7_-r9xfP;?g-e|t7=kRl9ZH(4^y8p5~->#0Q{q*bmS@>=(%tm{I7u;#b+XFbfPwg zGsVRjNw~e}9J&-#_26kQ|IYSHV{nQ0sAXWrfh+bdza_dHMZG2Qn*qF}z6+b^d|RJ%T!C~T zPEHgx9MrG)Ath9I+$~lfN42;WSmjB28*jDuwOzy4=k6-w~lD+%pzQE??tw%2Q jW*m&POP7q)*52)DUB2yp58kuD;=6Q%bm5FjK@4ZQv-g}c0 zNI*k?05^WmIOm=F#{Io<&VBEnH^$u=YiDP$N!Dktz1L^X`I+l__Ied?OI=w_89+b) z01)6`fa?W-B7l(K@Ah|3_;({F`nx9~CMF`jL2~29KaG@}>;@@0>5Us?lw{--e>eQm zO-hQJe?R>Fl7IVGLJ}e(5(?5Ar2m}q-`ZWb18B(z0E7S{f(HOXS^^?kg6nPo2fm*q z|8x)E*?-#z2#JVEZjj=;L5V-1<`%yDL`3*bli+)dKRXcrcK|Uh3Eh3MXE$zZza@R( zK`;Ix;R_k(^NJ1zoiP;GBTLU9atcPKJIpNHJiL7T0uqu^(lWA-6<;VRtEj4}>+0zn z7#bOySXtZH+SxledcE`Z@df+&2Zw})g-1k2B_<`Oq^5mJ&&bWoFZf#ct*E%Ns=B7O zuD+qMv#YzOx9>;)!1%=E)bz~k-2B@5#^%=c&ad4)^zq5>KbTYO+4(Gru~7rR0COq=wr$L$B=AIRvRCw!^sAm@CfgJQ7s9HU_5 zl33$L{|)V*$o^}A1^sVD_8)=$UvbR?ZW7^#kd}xR00dmYe&t31`2J7(KiA;@Z}$Mg z9&36HAilaRR^VT}AHG(7PLiIzo_Y=F;hHUdS#i`K`5`-blg~Of&7)U&TJS*O)-@nV z9z1`l=?4iw*Qrmq5pSy8NXXX+yscE@-mAt=$SN1M6apYv^n7~uvMUa(A($D*$xKw8j4vxEB1*lm=-Q63ou9CciIOro1np4-V~h$hC=G{>DO6dd3IV%JTIW$z1doX|BOEDM{Ja|;{1@x=7N1Q?#a#_zGM{{6)+ zn-5x|DMYnQYLzhI{Zk^Jwcm?!@eswJP=9w1FBh))U-KuTKH&b&*C?+@4`YKz z3@qrb&f8fV%!0BLF=u|>Q?kZRrGD0DrXKN0V;~EsYd{4}qyiOoMg{u?McAc^wja-@ zGshbC)f&uvT%lVqX6A~0nr8ld?Y>PBZlYU3z}Co&UaVO*Wl+4}8X(H>IIE_p_MpwPXv9+sYQOunk!NPp zhT*&pRkbRLqq}`YVdzvkii&PORiH&%Ehu??+s)96F97X+%+I~gW$+>YyR`>PxP9W& zHhY~5?vE^+3P4y#+X@;Pcp;3lyIQw!$N{>Y|FW=dtPZ|v;0x)v#EAb^KVxBk7y67p{Zsv)s)F z^UFDjlDp8t@U{Xr^ihg;a1k#=OQm$=hXM4Lv?fUt|~=$NZSNN z2S)GmQ!V&;mmUfjWS7%Rh&g4#)cQ)h_q9AoG)M?ZT8$+Av=!-sOEjscVY&u%Xu+)G zsT_&|^S~wgXkvs+Y-x2YwRH-83CF|CFBC4s1YL}S)MWh}qN2C!<0W0J8}v3C)zx)O zklyr(`B`{F?k3cjtV=Wl<(BOvh*{Ip1TGJ zA|m2gp5%!b+Fk?d^N(B*-1ED&6krNd5x4!Ji@gbq>1E6nCHB?cg+5kyb)Sldzq`&P zEy^lx>#ZICog3@F8bV_RIP*PuTdB+BI6T^~*YyuTDUBT}s}N3nOQYn}ym9 z*)WSI10|=;q^qz4!*v9kAM_qJ6H`W`u3#B0942>W^oD=_*9*0*tnWfT?)7i}{Prm+ z#)(~KLhpooUyY2tL+;zzCRSH!a8{{pscehc`B?T5uii}5*GpL4mL(ey!PvXcdB3qXTzhaE64vwdXlsD4x05bFO@U_BRfyg@&bzc57DSNQ4}A z?7{==)tOWqiprgyF>5yO3{>`9A15^yt9jZ1zb8FZN^e7Ew@Jf|-M=uwuB=yA{Ze30 zHD`T#Vr_&(Zd%tjMW)$`Fq;zJGCFfQ#$n|!VF+$SO+Q$m0Qyqd{j4-GR?_B9`E+ce zM!uDOdEM-9nf+bb1ot>|1!hzs6&uf8slrI@)4eB560%1;^RGn8TpeRg(~?qDXVHD} z&2Q1X7H+q}D`u%ze{zkwD+Rv2u!t)DEI_T+`JSBX4_C$&J=!h;N3|}e#fa4~%;?ho z{z=Wro18VFB8W_0{G+PCvzz3^w^U2d1%LZL3}dH_%PZI*J$>4yi*%cF!>mD3U3<{DrxcgJQX!->jbgh}JB<*?z9{{7lMfrN|M;OqrY zGTHgThN`ns&~pfWY6%L4D4`7JegmTz;iyE1$O?tIdX+#5s_5)%fDc5Vq3iwOaB4Ee zIfUIqxrXCy+?4M%0C;i@2nUj_gQ!l}n#7C|lt4R4pVjQr^J9>P!gv37CJOp};GNDk z_G^G;Tcj>;NHeV5UVOz=-UJpYFI}W%>CLM7YbbQxz3XO0T0~M!5d0Ip4<l;LV> zh2j8tC>e>6aO%%%o$wYG*sxCc(UivN`H_{1%Q-H;NQms_=lH}{d1x1m7D}`0vK~(j zx(0M=9}YunQOd_!JFRH7sm&v*P9c)|!NPb}zH&{zx z)K}weH02Oh;9RaDnlXVZBQzw5ENke9q7d#Hvlk@s%pDdGZbN2vDJ)WRK?+^=mtemO zH^2sgp$}_ccOeZ4z`J>~&n(>whBKR3W3D(T;E56GRQIw7+64i#}i0 zj3^5JR=ee@t<~71tNEu!%fEnr;t3&eulS>-8^Q zvOkvjA$U=l_Q+{;{#(=D{8mwbAjta4+&yjFD+pdQc*18(zX9{~+DT5inyJ%H`Qzd_ z)sp9gWJ1UHUIXS-F!7g}hxx%9b{#EV&w}JWA;Suv6sErw8h>G9w9yn%P1oAq=O{;8 z(b1tyH0p%eSq;ZAl49;+r@YydJkZoT9gQI~;z}g&SR~`{T{_W6!_s`mCcWX?`gAW# zjeSDTlDy&c_=GOowweX3p$TW|v!KU<)>3QRCb+96s`kGFW37@;RF7xal5{^F^XgDASi;00zs5~xVFGLZJZw`P+6d?Qj&n-i3@Q4m}5Adla7XR*d^)hT3L~|rra)^UZGD6cFWaqz66Hj z-l6Iuwu@d5S-o;Qn0}RJYMSBjtgcZz(;pc~lVo2u%7GKZrl9hSqr2MZTiN$>SSERD zO+Pt%U-CG~=7&`ACFs}~@EPA#B#0@Y?)|?1TV3D5@N2P7VzR}sT;Z>=^A?KVViGAP z;yTfDUo)Vw_IS)%M)mx^4O#_@u>mN#4W=HLfL1uiP48h_a<|k`WbI?;SQoZFw|*|{ z@p`*AR}-MPJ&{y07NX2SsX19Dd8fQAzZD~qm7Op!26~Bmf}dgapyRCq$K?B~Z>phKZC3e+)dpz(44(Qutv86--vmoP_a(* zytn88W_hu~L;}yKfBVj{2I|BD*GD(o5I>JWWU!8V3c|~KT1@d!L9CZ%)veoX=P#t0 z#;cpsD6A6R5O~xdF00<7D&&fHLxtn$sxXGA>HO3AAt)!BSc@RmxhC)pmugS)+57oE z%0mF{AVU{Bc?ZW6oC8@zvD$p zf#rBeV< zfZv-9M#jNI@7%}gx@e*ck3}!ryuZe+A>Ade?yQ_&HFA7ofyZ70Y~AMIn)N@+YgS0X zBBJ;I@Jj^fy4eZsR~MxV=XDJYJ(!m&c|<=i{*+-8eyeS@_!>}U7z$Z%yU|e&&V_xi zt{tD<#eYlfBS^>FghL9|tWfT0UIH`P`k=fM&!`!q)nyg(i$MdJi}$7CiD?rd`V_ z5G`K2&sgg!kH4br1%6OoiT&v!v|1>=Hb~i$UfX=M1BM6keQ=gP+*ch{7YZp1<2~P; zZhzQXK-Y)rJWD~xr}#5!_9(iRLkvWzK70|F+RkHWf=yqh9(_5mmIr2|m7O$%2HcMk z7J1cgNqjEq#*~C@cpG5Ia)m221dhDMZZW<# zkI>FhMc^;0-8Eo#Mic8$+O+|SU`Z**=R@4IK`J`Q#o?Y+q@vVKL~MbYKAGoJONQ`3 zRMHx6kOBbvK!cJpBDvH8T2p3@j2Y2Z6WPpCVToNZl+jL9<4$ij-8e!!C%(I&cem1TTW07)Zhh$GcjK34_DFu@yNlMy-%+O- zXL%QyVK_ll->-|r*Xyub0=>01uKq^v&XOIKkpk{or-^Y<`gRu?UJhU3LMvac#yDyW zf>D;*Yq8Y5!iJ#42cymtE>YbK+$=h>T#5P057jqQUlzF~UGYII&^x_UHj?qI`|PlU zX5;yuJE|@TnI3xDSgPUF`+AS=<~C#q9#o1j4SGIy=#-!GA1;HM9+#(@OFLgVq7C~j zq|mxdI(Lf8!^o>Q!a`cQQ!;iOl%`Ta+t}kTfY6Dy zTR^+P-Q1rBtd|dttpkwk=*&S|5??h|qKhJRs;2MH?ktwocwlxq+~!r*Kz$K5@f|GH z{V+G0Oz(WhTW5x1D$U;@g!(h@)s){f{gfJSH{9N`2kZ9aaH6Cmkn*N$!WK?c%AIey z%O<&8m3ztVp$4AaDz@IC=DdPP=|I}NKeSC6k+#QF>vaFe6yib&D;f&xb2~jhr9G|ND{f*$%;;J zdmmU`H%>w?Loq3V3Teg0nl4^0kCZ&zJebuUB&gktDNK3ujF|ly17_!7>B0-^wO;e5 z@Ix!7v0@%J>d;QZ7};UUTKnU8L+8*$)|C5sts?ze-Qzx!mFlAd@3qnR+cb>WfY;&5 zXfF4Z#NE%r)Srt(l#@tg4T$;Z-gomnGwdWe?A`)HTzDhen@;2ZR2^T$C-s9*W!JJG zo^kwz1Bum+b1jUKO`r^s>2390oQ6*;S#INKG@Q8g0q)j}t|InBZXg`V{=_r6 zeQb5LE0CxrsGhnY#g}4pf5-0CyRRFPwvCT4F(RUrab3Nw?2hiK#oE4FW1q`_q}YjG zAdS3=+Xf8)T&4T-PXIo_Sx-p>oC%k|S&oUVH2PsP@QA--Q;amoNj$2zKt?|}WZc7X z_=&F8yBRB!>Z0jF0q+L|%sd&6yM=k0PbT)_3tI7vrNgYvbtMEiHw{G9!PfXDB#z{+ zxN{y>XslG9WsV+|x0=??k2b)dViksmR4KpfI<5g&8PTg}^LBklb4OPJFefJ{%@lA& z%uh<1^Qs}wwejjCZfs^dn*rrF8oEf5v$X#3Rt$XpYqqp+Ac!-{_3-N0*QezmeyBdU z19lUflwnj_nPq!)r28tl{OAa1yPkizaGIRtv;FGFWhYi259gm>egHaXQERQWIIX*; z=fdoF(}?s@JKY-KgFGk8D~%qZB*yB@Ap_C@W3x)x0bDs_UAG&S8;HBTj|m$4iVhEl zvYFbCu2VWWWpdDhDfOjL5k9>-8uofEsr{U|@71VT9tHBd(zD!rm1K<8^f zs3zK~dztBK?D!f`4P3iB<0{lTv2{4N?I+TNIfB^9EYI#aoeV6KT6+4ABf6N&oFy{b z1YLUevNMBY$B}#^7_}9z!cH4I>3*CFki{%F0R*rK}7BpnHa59mqNnuG0*xMa$^BdStfu}T1N0(yVjGItL z5!IQQRL?uNHJtWYXIc2mzA6i#f5Z@RmJk-G65o1OJasX;=C*JfLws2Zky)mQUcUx> zz^T}jIC?m2bSVfJttP#0Sh?LDZS(Dc{MpC8@1@R^G5kXL)Ew)hINCf69rnx4k^_`r z5_dnqtEgtH=QQL`c(f04>x+>H@ieNZp@W=Wt@8n&)AZ(D!&65OV#hh#vxm2E9q527@`MWy2}JFV=?^tx9jj!2d$;e|3pZtHvwB|cv)a^(Me zzWATt4fRo{tG>OWQCE6!YK1%d8AEg{!te#>cXKTBvT-YkYUr(=_j_tS1o|JisGV4_ zF$#>CMJA47=B8?a2M)4woGH2ZJLqq9DgW{_&fGl-r#e}UAe)O^mQ6GbZEc$89QcvY z-pix2DLO3vu#1h2&&}Dcs+20IB0&Uv+WU$YRqqQTbyp2u&4|51fUDGngC7f*2SunBHffvavI z3Y?RrfB3r%Oj24CMCa}{cQNy1g4)2yU8c2F7F_kBfFZ7V zc$uYA@`>&Gvf#`JWGPKrct`Dn$izvOVCb5=U>p_?CP`#2Q*cB@RD!Rj|A20*Ck-n4jPuDHgp+RDR+t^t&=)ns@zM|3$IERrQPWsOx#u1{RUy>2Gpg`Y8<%$@E5v(U4z z%6F`SL#dD)G_chK80kBpz|K0bThpuib{C}b%s@=#t&0Sw!?Cs2@()i%!d-#8rGRqdYP~QW3 zr5aakli^91t6r=82U%^1{V(UVYi;4M3Yr5%nWBRO(+8YjDP$%!X}_@<==LJvCHF?^ zp>n#_oAP=C@>6WTGwK@f-v{3-G;8d}CT(@Y9{L`S4wn%7rTE!1$)Wu8cHgkzbAHZ! ztq2gxP%Fk{C({MBv9=t(hUKZSZ(i87Zfgj$s`ndfJIuR7qN)T!5r-h53xxI(J%<@ zmqD2Sm_!)goZbUb16xZ5(t9=$#2+7jq?x(~5W%cK6gct8GWoabNR10SliKc&%AAxA zPCQK8`ap@e7*?lR(t8I6uT@5OAZn?bde?wJ!Qql`!Yc@yZ5%Ryqa16#TF446i`Ej( z>ko}dcC_Rvd-Y_}$D1d$`D2q|{G*^myL24YWh732ol1S88_tLXR=xWW`6}7w!QrpB z#`;0mfFi~EuzotK0-vJ$eLoch(0!etxuyUtFk;$|8pNPa@5Ns~u7Lz> z#B+eV)?YO*^PpQBgfI7BR76_qzm8~O(0{7OmJ|x0Q`=Jm(gqJcYLzHsGqB;+qOOTC zNIO`^OQk5@5))ymtAceASybDv!L;cg^#aKr#@#LRHN_^-QCIuPEI;!Jlh=jzy&4&L zItK87f4U`r9sIX$Nq3caR>R057GVP2a4G;zZmShJ4F%ST%iu__4;#nDRW&#HRPMYIlgj5Me<3qd8bFu&TF+Xn6_$`}S$|rcWGMtyt21 zw!S1tOQ+)KZmcsaKl|Zr3adIo`k|RtRZ_leT-bFLZNm@b(qBMLTd98)%nx%6i5rqo z@5m`ip)sJ~)_XXn%VK!~SfN8=SBb+!=f`~(%>!lGvbo8}B?$dDDuWN`q9WQ%4rm93Yl&FDRdJ*DOo}Gm{N}!mA4pBsVyS zovN^DtIHpJOTkdsa$wNHBXfrXBhlpB+&eF8^^+fwP_-Q%!E*MuJ!DL<>TwME@YPG2 zMbDR~g6nMb9!4xt+5w0frg@D#+^M0#TYU19J@}8D=MTc;*#%BaA(s3yo3zs{-hyY` zxf(8a0aU&kcliCQd1>n!@bl}6>zu>gvzWCJbQnR&FkksgTOy)QKi_%0%hRDb7!c5~ zt#v5Nw1~|z4l_>Op0x|_(+)Lp1CI!3`%6|QnM$>=sw@IY@sdq5tOghitg2p#R=9~8 zjTI_uK0;C=s%o>pExRu3o_bY$yxhoK-KrNblAIzX8td z@U2tu#e~kx&1g@QVvhJPW>xEx{EMlDTMZ!`DKAsbXqBKYSy<7vLl3_|!`c4JVjcI| z3l)=qCfr@RIU`(nghD)&VFx#Uo;J08bfleB=(J+*q~>_oG7J$tqmLh(@wXA4a@+R zbF&9^go#E=FitmG?qd913;ZQnP@Ud$^9N1XnQgdA(xoF=}pDkJcqTYgPzpcV#scf`Z z;Q_3p6@I6Bv;tp%_v3W=%4yXXIT9K|X=kfUTv{y4LWblt4bLvW}kDA_IiMeBNUx z%EVNEP~iycQ@MQDw{gjEO4Cb&y|;tZS{+5+)mW2`!9Cj05Om|cP?$kd6*@|1){oAi#d%bQIv<~%{P#y~w?T{D-4&eoM<|eAy4oz+ZVX3P-H2JyoB&$=z`evn zl1O@3)yd;W$+giLF&HhZ*A`qK<2&(gY*Rv8DbV4Rw+SMQmpDD3QyjO;CSGTDdTuH)AS4Ff+uqmUu5+J zw@4#5p&BJ_swmyqwMuzPJky~+!K7d#F|okT#?bhX>RssAooMB{CC{Jzo#FLqUgWg? zYGfgYma`lpE8SBdruu}!JAI_;CQEY?O%i8&yvMP)q$jLz@I=$^8UW%%Qqs%`VuY~V zxhvQtU99n%>0Q}oMC}T;{H^y*4l%v16}eJb2SQwdFWu)I$`~LXYw4`aDYoZ0GqQ`c zqVG;J4ZBDp!mDQjn|y8cQ{6%liFc|_OSD<$=@bS=k_y`;4;A+zl?S7m&7@B)aia@Aoi}?)^q`{3G zorbKtFvK1mtSrFT{`^oFY#X@hO_4w@)b7CM7=e!tW86lTJ!1P5jFkdMj62K(lMDVp zxI`NJy#^8UDf2DM%b8qWTC^5lk16=@yr=tLxj_Y6vG*_Juqzv}o0axu45?`j0tMS8 zK4leZocwo)P7_JwYBvF54QZY`Em+oz+t`wBmXyLs1>t#^?Jf~rHs65K($CJy5|V3x zPPhkEA{VPVQb#d9@9G{z5yjELaigac9B~<~74A|NT9)!fE=zgnqjIqnVvw0gPVWt& z5)=kUXXI(WIW9mtX=s$`1SVc+p)CCK&QCgld3q;o^w_lcO_Z#+Xu#a)saFvzL^sJ{ zywIo4>|{y=P zx4X@LWkCwHY>uT_-TM7}@x@OIaG1D8RpKLzEhzv%an_t@l)O-5Uhg)~i7B3Gebg;4 z_GNakz@B!%7@6TRzH)0bPhAB7ppWQ%>YO+lD!5q_PlNJSGr0OW^5nd1C1o$oPUNU^ zPPA(r?YnzFBoFUdELLDE2y54k3NF)>QP;4rAJ^o6F5Kq-HHBBOdfa6wH%jog74~0_ z%-<0c{DK9c6?=iCI4hS87_p;;(jtdYLOqY*r$~}7DbH9FzKhG;dq1Ek@O|f7amdyy zb!{K}KHBgv(O(24a|_7-QPdjkFHSK|m*1Q3qGx`fa>__ChEa?YkZHFMBpV{WnYKcB z!@{;y7oSzo8uNb6WdZQ5x#)Up6EGgivR9iSRpE64np^DdoW|&MJz{+NQnb#)k|FrJ z&hx~>6?!Akii6?Ly$th%=^3dBq1sc%WBNpX`k?YsygW%rwn+;zg^t2duicQtI)fcB zHeq357H1`nNSB4dXy_y*CSsJlAviTfRY|Dr!8cnD&CsFmv*#egJ~w>AGzC6sf`{8R z)8@Fxy*Yt0;wx=7t<`UA-!@X#_fx- zF+pT&$w6dqRPoYl5S87`uRbKvg%|{Q`T5{&nuSBDWPpshkax5sNK7wmfvs5O$dcOE z<;T4pCz0*Zt`&9#B5dC(Q;cbs1$X>tHQa0WakX|z6y}}^XZeiTdvv0DqO8Ec@V2e2 zKICRr>i457*i?M|>dGzgR)Inmap>r6r}}q3OC5jAUC`Wt;|<+-qP4{V{m-cT-;Ws% zIjHdv1#bs+>%0ck!a5}{UV$@qkjo%EgCM8hEp?e|Vh1gZyYU`n9V|3aHpv;Xb13

1acCYdD*5Bs3=>~5^nG%_t43AX=^ZA~=^eb-JbsKO z1c-8%?k;&^-GM$@H3FReyH0WhOu9d7+-HiHa#AX>~4~0ulpP zzXQJ?^_G15of#kDt3Wl$(~!s~gmbg6wf~jim*dc&k~l2^6#tfJV>wtYI+WQ)`wcO0 z(neTMDfLQ^UxP-fu8`O1ceBkftFK1t<>4WezZ<5Exarly|MuG`rFPk_<~*j-_4amb z)3@Ulb6sB`v{m4$4_1LdT3M0CLSU%iE(Ol3=?jG~G?CS{56$*y&sgt!1=#Kiq3=W? zZzw+}yhT05xigA&*E+zPP?UJrL08oH`r*|x#1PE~Sao5a+gx6^C%ACct{bV0#2?QnO6=0;I6~^yg@`#(j_&>s!mgunvR;-oet2S22}fzt*k+$K&I`GrCq0c&LKF zCLI_O{}^OgS(#O=JpJo)o&moI+VN7S5-4A=8Xub_CLOxgdLN`;xuwr*KxLX66l&ii zj9?aV5lKl@aKJz3=Wnh$@$>Nef8EO4)`0CR5in+N(Mqt2+MHu%_j%cRqsfZ_f>~<{ z&mGS-dd9O4?XOk4Xd}DU_!?{S@dYq{&dL7Dmn#uf0)9~A=lUgjJ~8*QGS7q)_m(3a z=T)Ap!Ef#_i_Mfl#MWX(OcyTZAWcs8DnkBAct0AU1{;8Y>pl5Dg)h-r%;?(XR$+WA z=ODvj1)BzU`KMbFk0Eos9?l6uQBte#8CX47f2iCY?Vy=k>EIwL-AYn&aP!uvPZ5Sn&18H}PufIxVLTmzT9wap2OCGs#!StFRkj%J$MQHmmg~ zs)J1A7Af>+Yve~{or2h@YFFfifbaH1(tJ5$V+JX=2KtcHm1|}{W0HgLb`-f+85yEo zYO9%fcV#YaYPD$YF0X92as0r= z$27~tiI)tE1D7mw&r0C}NiBytSygSO-&$*%63Xx;w7ym`EW-}AN)3Kt*opM5WbN+H z88&4l83+Z~L_T}4W%TXG^SzXflyhBF+JFlrE~u zzElGhv(=!1F82}rWXRNo;#Io^Cu(ShT^P&FHeZ`{qQ;d$!{Ja7!*ifKG}mAjM)34R z_9<~l6~&Nv=s?Np1Hj@8#jQ^oqD0RLVbYMZ??K8vZwT0a}3hV3XZkolrRyuEsMsQN;~8g9hRy$ zM_~PnNvO0U!LY+RPZ=xEWQxSWUcWKIcPXYiE6*Fogq6IY!FKg{_LM>N9NuXPuM5?> z|7defPSFV`F}CCo`vJ?M7kF*we(rU}2Mo?3x(1|~vpyRu3&gxg#~Ckux~Qu1wcUxv z?p)}DIah0TaGbfl=2j-hsmc?`uX?Hkf*&Np<;Zo6_zYx-?kfs%q(UX2KiTE6Gey#v zKRa{3zm;d016AI~i>$K@Vd)DwX~8o(7(k7H*NL;(|NRX&sOA)J{&g3g|Dfrz_QN$WT8t z;mA=tkorODph}`a+`g`efy;9?f@%?hC@Hy0a=gpp?)yd#vfQXkIiZ2?vI-2ZJA23W zms*j3V5osXMJy-|d=VwDJZh6^S94jQlCNVB!s#=4AFrz+wilZ7w|M?O&A+u`|MlGd zzn=FWbA(<4=;f_YuwJQUX_Ruorg_J4KWmU>L&QfDWr+HR*$_j?A%nXmJ>(ZHf>1^K+P=$CdMDyPSZ5%OzwYs4<(05ltnoaXH-+r5Y zY1LShMfGF$$Gtda)q7#YVR-NBy_wmS$`xdn61*_7gY z{jk*!n`d|G*jq(KyKMC=cuCRTAb1{*V`OK?4A{%OLt^{7UnapM(I8gSRO6s}>g>ye ztNj6TU>yn_GneiG2IEzJ1uAfy7B%?jS;kz*NNQaPE2~q_>-=W%Tg1`f&jZR=?+98` z+qPP`XUo?28|R%mOYzdgboI877d=;nMQ?h!iL$>;_rXD3e8RVvRy6gZh8LMd)}WzEM}(JvP8 z93*NOER1oN_&jxj2m2k{UG-ALHUv})}A>`qQLE2Qr=8HJkxZa7wze>Z--lU%*6*5W-b zFyGodj}R%u%!ITl-@L&pn06bSz#H~OV_A=vuR}(}aMS`a+$(aZFuIsM?y8O}MFBtH zXi-ibl%Icz^;mtK?Vd1STKw_3fif+}PKJ2Zx}qJwa8n-uR_UWz$h@=*S0IC*ZTEE> z-n!J_avy*nmY;I05J2~5h%R10r%X%RB1MvuCpaOsICGC6Yl(= zN;F0lKvEIm_58AdzS3rYtd9nkW=h-ATNg|Nes7_JcjfqAn>|{aOl2if7hqqebx%?= zO$_pR_l2SGNs0~*EQd3rDI8N(magRzSM$J8__4w_cUYe0c%U6O;%`n|o%-d@e7!+8~o9}FMFV;<5b zc0TV3AJj86xXm2VF}eNq(oh-9_N>cTi*9x4ri;Xd22$x%3#MPS2Tg-`V}1zLH z_%V~1a_bwV+d)A09Zz>P9T3H#qLt}C%+v}c_;1V<5juZ_XQoL{GHU-aQ^4S@ZK;6@ z-JsC9eI!R%+wIo7_~b#7W`=4CYNHX8pAU9>xyg)cMaft+uWG?^y31j)X$MVw49;P^9p@A&A@mR6UG~b zXm63St8Ta&pE^9Q^Kbr6Hrtm~s@mWtEJGZVI3)gxF!Wb5%_@u-!h(AK>+wwwqup9D zi5XvCaXyjfTRZ6^1TxG*?)b-+;VC;OdJwaI)i+s=<3>TJr+2>$d4hwiwpH40vi^7# zUyXdA%&lf{#;j^}ru;V3F3TY@l}0pPn50dk`~(&ib&*{T`)tO!b`%O%c213_MF)Bt zK1!^1IjZk31h4J>TFyBrd9|$b_3Qd2=LQ@px*8u;3$qbsEGv^Jj?P^$FK)J?=-Gb5 zI>2g#uk_J9#EV;-9MLdlh#NZ3BHj!gyZF?!XKUVQUXZ(`US?5SjaNw7IFf7i=9(V0 zEe3O<)10Y2>AF>4U!RhnuTg6jN1kTb8#R8 z7!SB<Fz=m0pMk$B9ggq6mN5RG6N_L4 zRv10APTKB9JGjn4Wbxc!n?vMOt3^4$sQ`c!DIW0U=PDs2>t~)HqPeSN{y3>XQbta~ z%jzN6tcyxWfrr99u}ae%xL;^j3{(c%9nJgV=`fPiO2UL<_-)BtXMAAZviMn4zQ``; z8(6?CuR0$BQq~k-5%AG`2}TU>PTDC)#5Xe`<{dKT=ed}qPJOUJr%qIr@(DqEd!cC_ zhKqEPXN23We5k@``M>JTJh-mYr1`IU)2U(lO%<=++}2#{sx^-)YaiA%{sk|2wv) zWbU`y*9BnLF_3r^%qhQ`)v+TlD>xAa8T0XsfsQ-i+$Rc~Th03VmW5F8e-`Vsk%Q}0 z|5>cl=j|keU##=-8JqY={8F8pWcNNkD?PuwbD0mbJ)(w=LD{M%YVKOPJkp-vv77Mb z+YpbK8aVrgc746q!Bl^*_@hUI=^F6A=(0nfu$9-|a4CC>7rx+bGbo_S>d2Ep83YxJ zr(+H`MDM7j5ibwXIhdE3`S_b?CE+!NL51J{>TVGjiO=0vcrckah6Cm=fh;uPJkujL zQdQc8+>6O&07-G}83ziC&=EKTROFxuH66U^fP`Z+_qckTq1ZE1lKiueMaNUMS+0F1 z=M$@<2m5$t?e9G5;B{G0vb5#;$L|eoMZBz0g6Fb{J2^A=C+jQ{%Hwo={bj2`SoXQN zZrM2h0p2=2J&kNaPT}oaYaC-cvGSU|R>bgI#Ay_6-UU&HBC*03t+>^OeVlXHcM`a6>h+=e?g+*(c8jlN|Xtjp)R z$Y!^4rMK3VrIyAFpPK5F^j{l~60beGN9a$eLWLg16r)r+oJO%KN->SSHCsZlg$pmg zeIzs_bfEU3%m4nm)cwZuFaw|f#0I;+0gGk%U3b3qyY}2ZSu!sA=79^c^N_-$-S6RW zI$8hX)A@RB)Tfu3zzsG%F~4Asys=-^NV5I56G^+JUoZnSO{4|wC9CI6EgBSr(^Rab zkZBmW%r&0+0MQ8NGN~pz^g`Uaaj@)B$x$)7 zGW}l&ROgfXujHN!R+=>RFKgD~v&%9B@9y~DLKpuEkr4bYJV0MSvGHAxOtBgp&Pk5* zUc+o2`-_2JdmmsYxXf7fd@o^`i1F#j4L;d!6X z)ZyuU+sFtxb5D0aV!Bd_Dt=r$!u2u}FKKAq!7=xRHCv}a@1ZXI)Nax(B`IW;)BxQ< z_ddtGd9Gfr?^9`07szg!#m%J1c*Hcd@5Z|XGj+lCv0&XEr{rb0|JHwu@^z2i+IA>W zXXWd6^3H|UZEpkZIp(6*Ne|8fZ#JGN!tyO%?pl=^m-soi*UoO~0KNI2HMy#C${E+z z%CEQS9w2c18>7^cz1abUPA1Amd|)ZNsg{2syDa8U$8UrSp3qZ+yR>I=r=Vh{J%zhI$4NZtRO>B0 zbFAv+zasTwHiH!1&Qu9}NjZ$PK~c6A4{X7Wt~o3j`Eb()HUB4c`(=m)C;09T$t4w* zH5^@y_L~;?`uMfOH<{iPW{HKf$*Dgbdzr6Wq{EhsiIFHQt?^088yL5)tE?5yizk7dvyb3 z0*2|;XX>IprC*KZfBdT9zR8$)L%xKN($D(9a@i{1KN?Ue|zK{j$Itn(6EJO=SF> zn7+0=k#COggS=dYz!_2vNBBkUOfs6bG*bQdhuShhk#eW4slQ-O@Y%Xv>1DA=1wP!p zF@+TeSmTlY`1nE1z+y$hb|TjsY0kH*O17TIw@T^&khS%A0`PtZy9$mchjOYqzQ*-J z8uK+pM&hmpEEfb*%h*@Tj#06pa;z-7RdOLqX5=`UTOzjV<9 z;32h>{O{(G8v8HDrOQ{y$gfh6nn6RVPTM?^+N$0Vnurln_m%*@I!C@lJ1{H3I{ zx~8_SzM-+HxvRUUx3B-(z~K1A&>ZIa*ppRj; z@gAdQ;geeC$Nn+xZ_ECBhK2lZS@v&+{kvUrfNNJsLr8yx9smRop}+HE0D}Lw{NFzK z|JySFcfy%p0LX~vrAk7-ZbvTHo{?wfqS7w_y?j5*pI7Y-M8D5XT@|#8&+zI~ofg?q zx^V#rQ4E+n(GCO$VH-3jJjhnnt|k>~1v9GDdG={=U*=SZSO^1L`sMxj^m%tefR;#h z0xvsFWm4}9_ry`SGm2vSp6Sd>G z;W!4$Y0CVh!n^C2>|V&Qc+*?VL^(lgnEQJ#08#aMl65!{if%Z?Gt6loPwQ0WZsqP6 zO<?`jVBNdd6`Rz*KxdEi#Nvzvdn2+ zAdB{#`upWZ7<2T?hp+XSSdx~l_hHSy;&K;#@sfml7l4QyTu$B%T*?j=#y9tSu8nBf&^+T8Fwpe^ z;}h*=YV?4a1KZujn6ttzB0mv#8t6MEZ|YheXm@Jvm6$RHvU0ruRMAB%UB}I+;XYw5 zcdKKa#tRuNamM}iMl&Cf4D+V!eDT)FGV$}b&2)fzJB?A-Sx--3lLBaUW8RfYF!d<=@b0ZCSiujUPZ1STir6_pge%fUk@g{>ts zZ8j0nU4E&)^&ehj!*c7l?Mny~Jxan3CKgN*t@3F@l0_E)aps3PbtUyX2=9{b-ntN{ z&CksOGpqK@XAPK|C2;}+BazzJwR{v4+i{{qkF}jw@%gfuWsq0|+Wb(Mf1A(fec@L- zFOEp30#snqml0r+XLN-!r@gh(Zi4-9roGcWB5iy9cR!TR)08we4|wQE?-vG*{Sb*vmdw-rEH-9!nye>RLOvJ^efSy6C9 zi1@v&xS44dBM3J*?urro>+=86A~H$f#4|vqhzfY!wx$(bbJHp_pR zjIO}Aa6Zp!8sBNWP2blF^mpo$eCBXJn(-@G#4X!twd6G*_@s*mqd7VY>NZP3x=P>@ zd*~IfN>@)Ey-VU{dAWYYl}o%4pmxvrTEJa0u&N^}k;1-mu%;CM(gGP<>w83)IQ`f4{Z^st?MA+vv{X&+WOaHQA7CKGdQr zk<2R*rk)$RZ2o#)jbH24mA&>qKGz5`NaUEz!<#1dKyF1ZNmQi6%gLhIs$uszO_qZ@ zF3a0A+IGtE_P6swJ3$0DpAyP;2C(3G`3@@Yl_QpG{MV2V%kr9R2FYW4@!1i zJ@sCEv;xHm0?{5T*+FQf4OGvWTkhfd6SsWRZl~#?bqW(yo)lwg9QpdwURAbw9h*So z*x3t!2s|o*<57W_vBL$Rv2f1~&Of(VPaQyQF6Oa4jNh6#Hb0Le(%^Kq@P@dTOWW54 zgnAmxGGc5K)~p?c*sh`un^f*P(KL#!FWDyq>@h$lff!xnZ1t|2Z70hjbBalF@8j5I zVx-%>nH#Ntu@T1rCaTmFPK$6Ws$+dWd}3ggV)1MG%S;ZLHTce;j+RiQdSv zEM@jrNFE6{)Jy3A_?1d8gkwJY!em@OPE|mo1;&G%e&u8vZx^`M2$-z4Q}RJ#E&$yN zK!?3E2Cx^Yi|2tvtx8wT^Y#mXbK)G!09xrXn0pK?>mDoJ{t0#6Uq7g)A+2E8jfFSP z!%E|-e1z4b!LpN9iY4fdF$&HV2)TvJKCYnCRI-T`jZio>c_lRW`o{g`L z4*kkX2@>bo5VlBP;`gyP=xs-bh7oJBv9AbtzP&XzK4f7a_EOTccF%38(eJ5n$!M{Q$1goSSNXB~xFLwPlB4HASvX znnu|gg5p7W(mN2E&vh$N?f1ZT*x-#gg7M|P`m?-G)K5H|c#&V9{ITQueA5EH!;aH5 z8m@pF!+QnzbfwgXWAdkGELttQf>pgy;}oV6b&oq?w`7OQnd~VYSLyh1+juh^5>;FC zTZuc}lJoI_oe3JfYS-8jo#7zHZccW?S#8-5qV z6WgEIYK^^X<-r($v`8l&<(u?W3x9cL6;t|`Fs(+{J1V{-zAPdW)-j539i^blg3~h2 z>el=EQNz`jiZiJygi=xRgSzmOYgA-6)XUFA4&UC7;HHn~A1tUg<9DlYOI&H~XO8|Z z!R)%SzO7T{?w#$E`m6o!U6Cf)=@Z0Dw8yN+@p2U|BiJ5;M5W&U>6-ks%5-b!mWj0d zzG~OU%j_m@9b{$oOD$B-l)~|kiNhee3xJaXoBd3d>vgN|tXem1MvR9IZ`bz=C*gmF z=FWRl%Fhio)truko`OlPB_tHAf-#;w1jewyFv-r*RZ6psYQfakV{8aFbU~VtfIv(qUDgO%q@ZbUv38X}Ut{-rBRoFQ@kJ;c%2^_qD2wsFb=8*heP6XA<=vYQNXOckjIqe1F9v}38chZS15I;d6}%Fiu*mli zX5ti*dI!BL9SxUq9Vlp@@D&wau}k{alELf!f%7`w>x9CRdz9DyN=$B7gmgpcA#|H= zs6<-O1)xi-VBSn>E^VRhONjZS@=KyrNwEUsoNrU!RhkIC=wHJXcM~EXo?rvijf=G&gL6qS(5m&!oyN1bB6b*i(&3@TOm?UJfT66_LLUqqGEM;3drJH zDejvvBU})c9jTnPKHa;~&^TGUtrZ?`pY-z1RwvQP@FV4_8YS(FUSh|V2xb`Bp~G1b zd$y<@RTBE8e$8D^x4Gq|_EDYI8x8KO!G|`>_f!?Oe*t64GN#PEW#xKL;#W%r_9{x} z^EG&CVD!MHDA?DGcu4;RfO7gh%7ZdEd-wpcd=tw#blf)YwI1B&?$zMjHv$W8a6k1U zOkh`tl=Rq_-4_6tX@sLk>|4hubOzd|H$NbT(Keu}l4EgEJ_Rhx@O6;Y>-GB(SenVs z>1YQJ=H=cza=9{IEPNR`2eN1iF;CA$f+CPcALR}8SzLb?CB3A+|2`zdkMByVkqWDp9ruDt?XZ9v5Em5@$?H&Ct z3iMT-ovK$xU5_`GA_*)M$2W0PzT7EZSlW%w=CBz_6>?ZSnq}lBgZP6HS;2j?zQ}b$ zhUev`e&MGnzAz?IK$k}>tvtx;s!z3BpO2(J5PT6itUy zuWbo_`ThGs9w^xjTyA}ki*FE=2Xk;Xs7 zZ8QqQIiB;H4sS~|3dZyaKI@hg=KVIyd@?H=3*m80G1#=VrD{)OES^R(C5L+C>%Tq+ zMiSm&8lu)qUJTpnch9$#czj#DU5qeH2~)@O8W!SHH&q zA8sGj;mg+oDD6n5kd6nd^3Z5cR!Fl|Rur}$OXcJy4UU1H6CRN~tN~=aU3k9|Y_Al# z9H8{8%Az;;OYrAa<^A+5sRlYuj0u_Zi}a_oKa_dEI1&~h%fwME!>X(ZPqAW6sGu*3 zqxI&eL-zJQxt&0N76C6}Nr=9FJFgU0JhZxYq9@4I?{gDk-|hAq7Q*WI{C+_6 zVMEF3lvO5X<5>2*7$V|aY>EMOju>e@AbX(f|0U2*!a_wjT`j!QOhWR*gO5W1>Xi5) z*pFCk-DCFigo@pY*S>TV0VIs|{GDhv9wmV<@09-)oo)B%QMo;)PP zy;P0_5FQ-Qi$}I|%qZ&mQe+$}B=Wy5uk@)!?C}o|)Ut4O4hc{UD$k5)^(YB`x2(Qb zsvkS&D?WI<_^ZlHio~c7{bxCY_2Yr4(NzTe$3BP>+IdS!ba6|UH4!3$^UT}V!eXJW0juoY69eMPM<3x1(;7s#vkzFMJx@pA}qke<4350*TEB`DzGpW!ZN<@&V?vss@ z4JV%)78(Vr>;FS*MiTo#>_>lSP5JKYa(BodTGQgKLEiX>*1W%0nAXAf4scK^vgf@> zznoJfUb=jnrQThU)T13mfsngW+tVdjjc_JCkg5%np57Y1qWHw=CMd%I=k5Bk}9+KM7B*7cjR#r_a;(KJC~k0&}sdu3Gm7 zJ@?^O1+~`Xe)xtl6;b=UPQ8``h1v2js(=T*R*KUvyNR?v#OgR3I``f3MXR)g_k6}~ zu)MI0(#unalRDM$0`PN28|Pf!y#k8jNUJ2pL&CICIyS}4`Ic?8vdlGje36DBrT1eS z=Ez`7%JSV1B>?V@77a~QYPl7puEG)>_gzmzY&A!XBYxgkPA^%5KeN?*0##Q(3j^+E>yj*xtjjG#3O|$2)4p*^j)`?PUPI? zh9~A7!7| z$x%B1^`Oi4Ep)kYYAm7F`UQO1aORzc>Z_I?GUFY_>uXK{FMIQNF|tu;Me}7*E7$9) zUDo^+lYH)~eU!H_gHLXiklp9I@#Ib$7$FM}aiLp`bYFx`C4R?scb6ALuPCZW?^MZ* zyE-eyxR!4EI*Ut{2UFoSAzfCo6N+jjxb3B57;RCZ#qf!C{ycfY`tXO{O{Q1m$^0FZ zB?pA9_nhu42jS=8$7#Vz8KtJ$Za!`gRJ=UA*fs7XXySL-JJetTz$ASxb z5vhvh^Gr+L{7aPfuhKBp6moeZGC_uSJpxaRyU2HY)&jt8ccVI5P7;r5_VI}+0|6)U z%Q;~01fk-=zj-tkM%I3ZaAW4BGVXnTFbvIYUDX=# zgpbuJzP8pKc%?3+k+vw!pL%tB!%^qW=M`y(<_E`dV&XIj-F@xcE}rS7dj7g&e^me} za1(t%Iz=^)6*@pb&C4H0L8Jg@HzgHxDq8t!F)qH^wNB1h*%^T)Mo1hShD&yVjX@?D+7XX}`IPuAxWB=al9x({&>I$Ko z0wN^>Wn_7YO$F}F#Dj#fne|*|OyFqvFY>$v)cqTAu({8pPs)5I_uKvF1NX& z+%xl`PMaB53^5x$S^+x+t~Nxi-g_x5wb{c)6oaM~)$)UcN|uHm4;(*`z_@)JGWHo8 z842MscN#^}xVmQZ&?pVRbIbK$aFN2s`|UWqo4w+- zR5n7yt#>OoJ2ZYAE%^Od1L?D$bpcQ%SSd%P-wmy4#>vaT{?vepq;he_)Q`vQ*%bwk z{(#2ukgy>k%oq3$SbLX%B@T=!T9cI2M*ahMMdJAz-+9;b$w#a3k4mzn0Ta9cxQo9( z(UuW5aB<&u@h$XRJi`#!1!|qA-E4+Cx5{fZL%r|s`NEU@< zfH0%6#EG?2ASNlm>keLEVRoO`F+ID`=m;VGT#FxJzWuL16o8z7yNe38+k~+bskieO zLd>%RDtvE>=xLj=js1+aZ{)UMP)&-jh)Q;NWlocJ>1%>W|01(7Tr=HTN5q)Z$9!RK zanKv$&Io1nAIrh^o!`argBVp4oK;1PxvgByWa`p5l7qH3M-YL7+i9@0=IPjSoQG)( zW-qEXJNx?6u5~TfZO)$@LKUA?g|Xk_uJD#!E>b7E@uYMLKf3HO&v;CBUJjO9q>e>h z0NxYS?8{udoL9P)giV%GUNj*Ydt&Xs+)+IJ(EqjkHBFq*y+T?Z)F^?z;FtmTX=A|| za%qxqJIJS`Zmstu>?ktU554xuM2u`2)7#WZ#iY?-Q<`Q`f}~nmr=tRG5uT(^ca2VD zPu213Xjw&TeHwdzrn`pYQkx1W5bSwX`qsy<#lv=@exo#>Nk z4?gKY%rQQ1KaiHeD`lca#I$s4W^>p4EzL7qH;qqRyvST;9Zv7xAar7bh*U{RjOcs?JimP|kA@U4e(@Ck zYrOc+uf~R$lO_K?@fe~3j8=(lJ8PH$DGHl^{brV9PCfydtbtwYeYd6IcggTQAFV3~ zE>4LhyTr^z!qQwLc*j{@fj2Fm^aTA`T`D~Pi(u)QLQtQqg;UN(FUlvIhqt%P@eY1V z>gW^DUlkvbyx+~mCFtStclC6f$g*n~0{3aZO}V`b=DAXOp9p74MwJo6kA$P4UnRfWSlR(7#pTQR*EqJ^m5l4KB&UHh9S+ zOo?~0{79(B$SkcrNqqKZYd5>V(wArhx!ai^h0zL8o&B4AX_%E`h4TzVbrG=-0}OL7 zAjvG%(vKWaiy|}M!3!C(q8l3T#U>7NM8cOnMG|l%Fi9?Vo<_J*a$Q7c`Uu3RnKHsW zg!9p*W4g|H2`1?u&2Pkqc8V>b)_E+fI|S`{@!iLHe>Kx$>u!*yab4Ppo{_nDL)%JQ zX2WF31d(r?h^UMlz5vibmr`N1Jh7Dw&}feIv}H~Sg?>pb&xV^-x=%7nUP>MG|;SCh9N86`|u^U`{Y9yg%?Iy+Ryl2dyOX z1azZxS{DVd?M_$#^s18iFd_I_;VilMSM* zVd}I77a1$p64i)QD9Ls-i8g{O!R_j5ZJ7&gD$#6(Y4Z#9OnNGQJTjy+;6E1TL+H*4 zJ~*Ji+pH)fyj^OMG`W7qM`fGbPYHCA$uE!x9sQO`p1u0AwSMCkFL+ty&2p75CQW`* z0irvJ_4&>-7!XT|!EL!{nFH%s&Uz1_q4gyNhZ89OZqQ}o4<6dY@S`CF@Ht}Nz5M9r zL-ouFvWHsN;wlTglUv@&Yp`93fJXqG_GY1dz?#02D~k)H-*?JrG=Jp6Y0Hu6xArMX zRyLi$a23U_`sAChDbx`@hd@zuXzf*tXjeFi((pRT8kZ;a%sS9rxv{9_VPj6M93js> zH*}mB+J1|`dS0q{30mx&++F58(e+`QLwiS6zG8OrVHw=;mD}(LDW}iru-9-i+F8@+Uag(IZ2hO^!Z6GnE&qYa)=;Bk9sw#XE|42eH4oY))-Y#F)$e9~@Ts2*21VDHXdxpu`kOV8rt@Kp+lzkZ`ORSS7$Qw`Eb zUQd|Iv~kMST&ocs`8rCMP(WR~h|Mv`KXi2#sCRoSlh_FPgSG=m{SLhfb#z9sfZ3N} z9H!=h$T?P!qnmq2Ysp0&W@qquK!^`}YqAr6wp<46jU($fm9?vEqM5w*xzrE6H( zkUe+s9-0PTQ&~`Kie7wq@-@jz;K+c>99)S53TKM!--#j2%VR*@zfk*U@TwHNLE*C7 zaYF5hKkgxab=4`|jbLtq$mnU&k$Bk%aEx+}pj-x=Vd7%2LLbl9y96fL z?j&ak7bOZ@oYcb`BRb4_##Z>W6A%3aL=Jyf3u%A4~ zgE-!eAuQwZ8>|$|bhE7sYgT%;oiwL{xjnLNt*KVBn`Mmi0fncbXAk);Sb-7;sVl$; zXC&={b2@?%!XBX9(;Qs%HC8W3y?A18@7FT}O$P>zYwjS|ujawU>xKs3M2;xBJaA&r z9oH3@zz~Wb9^K05E!CU1AFQP*o9^nfPtg#grOY?(J#4th)_u<|H|{CDBT)gk)#o5RG*kI@Q0#K~0<-1Pa%cB9InUNYQSvP1NOt!$crHL8WHRK=G)vW_>I>8sA zYyrANDm2~)X%S#<){Jw;(iv+@D9*kKb{StWtgngj^{Pfq>(+MPNPkQ_V<@0seCH`$ z99Wa2ZQYFx^YxGd)aP;g^j@VVrPF?aC-qZGBmK zFcO2dZ(B(0KNH#IA#tN8qjRuM*xbX6E)RB`V_&+_qV91pe2!CR(nIz&9lqp!L!#}2 zJa>rQ^TfdoVvx!|@zrSHDij-4z*ZlJ*+0a**shqEhNfx-z zOY;vT2Wp1y3%CC6Pv=}Q6mA+7X+c7`NKeTvMMk&JnGjKe@sx)+e+a`Z%&LUBiksNP zIy_Ty(9z-pbNw^V!nD(`%?M`1QU!vFAW|Wafhp_ASiJZC!EwB1P)+eu?=QxKbd28! z8Agjqq+s7|7r;s)AVM1?1(6ZW0S))1;h}OKKhKw7iT7w;`;-z+=OwnzaOW_Yp6XZc zS0zhCbZNV|7q5;)0&QwtOSQ9~^TDL<8t19NTbT|$;sLQ;ZH|Sf+IYtlqosnt3KU~% zy6PYL1cKZUSc|SLHYJ;q$aa4d?{V@|&0YQ{-&xuIV9g>#b>w@+pZ63kgHZ}!#IxpH zL3GZQc)#7@vU`gbl4@xHN%i>#A&W|N!W0&o(CUVz(AReCZAKB`>+}q9trW=>CRRiK zsZlK$i>N2cZ+{5RfTo?t3p>v@xP2#afO`k4NAxH<-(Qxno? zETpxCQ@8X@-pByeiPQzPwaKWj=iO=3UL}S5;3rXfDolWXRE&c$%E$g#L_g<%-I$q( zsMxrn)`$_>+$LF7|31YYAGN>RH-N2=*xG0iM)vqF);LO9M3(_rp*J zs==Jp{GG7`UOHvgrv|Pnnhe@fQxm#x#!mKjX7JVl3M=rW4VL1OnyWm$u`#Aj5lvK-XMWx$kQ@35wRUtloA#zI-?{Z2q`fqpI>(BE@K;bXs zd{$9L2vN?=%uMQM43J^IA%o@o3oDvFkI{!hRQN-TDMaPPuu?Wnrgha}J3IkdK&*!Z z`2%T319%mexjNSg_egaA(W5!@+7uiL@5(o|;_nJBL5))35<3=oTQC{1Z=%bkIjQ3O zjcVREak7)qcMFl-==jhPLPf?g3Li_Hqd2y~LGe$1c8j%6n7AB!Hk)j-xU}1pT(6fm zNL=jU+MWOK=0*bh-lT~fjKK}jQctjh%oOwPEfO~Y`V0}>|Kgumlw50k{;tS9!TlQc>9Vxr>Jb@X{-{_Xmt>$@@CcelgDnCYKP>Jx5 zlCnj9DcvMFTuq=mGW-JYM+|d4&cRBL&bJ~Ihzvp#Ci69Ziin27MO~!)Y=a-GpI@b- zQp~}@wPN9s%^*czO2b6wz6X}vtd$PRF`J$iB?dGAQGqV{mlqIv9A&Ou4MR*xSjJIOjh|%xX%VQ}pAJ48s+x@yb z!s)NK*53Si7jh0ZJWsd)*n;Nz`sg@t7l37o2(a3D#c}Xc9!BTaubL)#_hp{0ACHWi zq9mB-uEm9s-MU$-HVVTm!G7)$V|05E1TN@fgcS<(_S)&%Uiq-8Hjh=%= zRyy|2q3V2tTwD2~+Jjr)e}XxsKW(>>>FUk69%|Kg0ib(N!V)nTfU)iiz*YX!B5-E><3GA$~hWT z$f?I-%&jCX<}5|{z!Rjoe%N^)_8*zof4#PZc0u1GZV)B6Kz5jfl#2@sY+$$m&sfQ9hXAVQQVOos$w#uv9T zyo9Y>NRIO-Kr-na(4XD9#a-hrXJ&n+oX4E(aaRov8tA{o6G^WURIbLT=3A0+ofanZ zc#f4!>rVVES-9#P?fy-QwI&$-daGVcpr20G=b1LqY)f;f1Mu|0JY48}t%GZ`nbX4jvBBO*@!dL0P(OUmzYB5YZsfDZvC6tfR$G%6 zPwW{f3rvQyWfco=Hq8rMF5~)4`{M~bQHc-y5{u{!eybhS_ja;@Y;e@gsj_SFhs+Os zKE5zELy8tR@>s5v$e^IW5-aU5Te9B2EG#s~brttn18*jnW+w6_Yw+!Bd@0+(LBsb6 z5m~9m(&nzRr~G4YUC!#EQUPr%2-bkA_%z{(H}|QHBe=y?+=}!y?&_O?7Ef&U2G|zr z|EMqhsDGDU{-X@@U#}^Cz^YHsZIuLR;t0+kD^HwX{^)b&t7j9%x@1k5Bo=+`oD8e*jz+pM05Y9f=+EZ3WYLEpu82=@@>bnw3M{` z3b>N2{RVhV=?3m#S#+RLG{TK?rz9{#+`ZU4_ zc#q(8{+D7P7OwAs-X5*l)U%Xoh9q9%wnT6~aR9J`*iW-RInFW3%;8)D{TaL}oQ(T` zj*$y*jEFnFZtcnG>9dE>senaE%u5nyK~;a}NSt{P>#dD=t7%zgsChr^&eWP}%Er2e zrVt*xhj2p9Qy-wnbCK^LTq>gJiF_3|r$1Yi&xOfdak99=^xEH!!F0w+;nEu=dKKm~ zKhv~V-eBQR;qe7CEy43!q~Md59*IG4VNaL>;`4@NMqTlmiRy(Fl&a`2Pes&wK_d-; z8iU$@=JIbC$A5L`|5#yrS7r2#$xdy_o zUE)1htW^|3jnd;dd;Ic5G3jvWhyv^T$ zAF{)L;|Nx#yHjC{SN=Kcl4Vs#n^EcPIhcOJFc+DyCBtrFZ+%c22`IbXd1YWs)rA{Q1||?0i}e;XJ?D zBL+%AyandKa^-Ph7el3MsB%R;jAUeHVm@gE*xjOHr42i=?6`0AjcWwly8O_`E4fB( z_vdRJ9`?xiw~YE>X%jk|Z~@XVYc&2NruC2SSz$&aeD~P4r`y>ueHo(Y^PP6fx?0}! zM;Zf5fJ^)&%8~q-Z1THjF@=x6}{8t=URh*uh>DGpP9b2DJlcx48UwTDDzLwFU z3dgZ-C}{^yMo;3+Me{9)Y*j}088GYG1;CY4T;Q>ZWIsLGr@{A`m)~*SrQ<8)#lji}-@O}*DR7`{@l{il=Q@#Rb27ACsoIQ?K{%0%~Aj+F@dK+_H2|EOb=96_{ULz`v(XO&XfJu(SkQjmW$jhG z*quDxAY5K{+v5G5>g{?i&Bp@J{X5Z} zJdHk0a(pG?;r_R)D)7?8pH>n$=G6dQqfoqY7uvtwRdyh6#9U#dh6P|B<-=)jQquW! z=jb@G8x)PCML5x29;ytmY)5|9Z64LDK~#%W&G9>nuBvf@Xl`Avt>*eb#e7&P4+-Lg z`&Imr@?lY3aJB%wsAC^1}s)fEr#@+b#yBCVzUtGFk4;}lKMkL*1b#=RcVVwP3HF@ap(PaP>Qf9OicUL(&VlBRB+MFnbi~R3iU7f zG3$>y@?!)6|LbxDe-ElQjwgy}U2Q|L6^+%>$;c$5P%>JvjhX)I3#Oh=$kjd~#YdA6 z&St3obveZv+HI6W0Wt= zd7G69*=yVHMtl|x={c8GH5}OQUV3`C$b|8KM`Q>v(iZ7{=v$doWOkY%d+p$6S)Y{# z--l#RibdP5FI?n+0FQq0`B*%UK8dk+;?2!JM@kH!s1h@|3HLp2KUA8ijb=;ZH(#~C zow$l4AQe}hKl}QTQf_QJSgd7)s8~i?Pp=z2WDHkSz`%bGr0S!%#d=ih9j5YE0`~`s z1C~o>AGOVx*Z!@YN6sGWVLwq;LM-hg7aMpxmi;NTS= z<|@W+gN&(td@+}zRl@fzLwma|Ek{QumBJOK-B}Vnoa71r&lwN@k~Q~F-}3{KlVK-Wva8rN6JWJ=T$I$zw)K5SpUuEVhV?Z*A8?v zAFYcbdpdO(jGW7g&)@7Esr~NXImhb|faibhIK)0NEtd|G)7z^J>H|p_gfH;DrrWcj z_1o>Zwc=g5HhL3p28$@eWSUsUf3<3m&t zw=8CQx&M3HW8hz*4!ZNDNR&WH5m*wJT@;*c-aPN&QK5X#)gw^Qn0NT8@u1&a%w-Qc z-X$_J(O@0c2VLt1={#(8K}zw5^Nu)(+EV5onPU#)N5zdu{$C%2k0{*#cu+8f0HBg za)FNa%N}@4?n#3Q2&FAjSC%lUrLq4;PbJWCG5r5Ysr)Ywhw0d%rDKm->RVvsVRqT} zK+WphY{&RF9C-rsle+*0ub+&TkzJ#+6DWA^LI#B62RQyw%>{rl_}RybL?n;Mt6G>O zvyxf;MEuWfkQtc#JQpm25!cQ{i$QDaf?6vU;rA}fNNk8Oh?x)RT;k=cxt8+o6XYcj z^{auuSWs2dw^`*8>?CV$p&_^#jwJA&DPoJG8|O@7CX2#{@~Yu-^I4C+^cneb)xXr5 z?KfI`Qy~5T$BCyU={;LUd7`*ZU)MK3Q0fFAi4^}ltz9jN01Mo`&fOsU7k2)MTrv)ByC^$U6o-n z-CC4Xi+4_A0BA00-~QfZkWS5<0QmM|uzyWA4sjFgfi18iZ85iKPe*DqL{yDg=f<}+ zT6XHl(Fw5E+-6sZ;xwjKVx&rOB-qA8h~IaYdi#ha_tQ;(qC+{pjc#l4HddqySm6F7 zdYMQU=IS6@i#jdF_hjk!7@oXbb@`skSHv=>7ry#^;`rV9S4B1KgYTIBcV^of7{YYB z;kag$n1}zXuiiziwJYwE9v@kLsk@b-4)s7~YqJhC!rj7bCW5`e=o1f;?~C|JQp<6p z@isifG|CMa8XYL@eZ*$2R)z)F z^O*Q8z=6`I5CH-m%1v>ubm$=HWsfKmtcAU0Zp3*=DSb}YRpIWEl%5Ls6#qZ3(_AWE zMv?~%^>OTVYRA%NJ@$~LtK_W4lH^HEmqiSCyMDck-+;%fPp zzIAvvpL4|}#3#fRPohko_`_aie?)a_k0@@1lKaYS#JJtN2uw8+g4hQOYs2 zLtb3~qylK(;S&}&j!9B$iZ_<^ycxP_CyiNngHgNw>VcVLzYSc>RBpd5FM8o92)$M@ z%DSns;=$s1)mAOso7RkbF3hEQ3{e~7E3BNHHx`k4lwLVr8))`C{rLDmzcpKL(tWM5 zu`#VMFK|_CUxBOU0XGSgYpkZ|>8U`vk~P0w0A&9Uq4Ix()c@nXBjjw$aT6BNF|@5q zx0S)@0%2qX&PgRR4Y+fKj6d!tMP!eAxpAgAqu`ZY@kl5$@g~@GeBJ~Xh}zcHXTxsr z-7_-r9xfP;?g-e|t7=kRl9ZH(4^y8p5~->#0Q{q*bmS@>=(%tm{I7u;#b+XFbfPwg zGsVRjNw~e}9J&-#_26kQ|IYSHV{nQ0sAXWrfh+bdza_dHMZG2Qn*qF}z6+b^d|RJ%T!C~T zPEHgx9MrG)Ath9I+$~lfN42;WSmjB28*jDuwOzy4=k6-w~lD+%pzQE??tw%2Q jW*m&POP7q)*52)DUB2yp<2#7);qlk!Can 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%0A1fu1?bIy`~6+L|)vir2D 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

hR*wdP}4=OFLF{I}@&2@b8-yL7ncEnab^>MEDU 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 z z+)^bQ>D@&fAW{-ua819eKrMe zjc`wy0-k=^9-dVFsy%r`(*&M7UF>qm?;qzvR?@olq%&36Rkki*d2@SdAFUBv#D#qr zs!V+l?3d6Y6G*)}1^XI{DmO{7n)IoR^v9bfF;=-3ypLs5X!2GZCvk2>k|f_q(}~1c z_QN!!3&h5V0H6e(!QMOAShq9Z=v;8P2av(`)I1RfjCX%m&=rZXH_i+dS?F7iN5)=& z`*Sx9KPEnOeA4~KuIFuy3?7El{qtN_X;OQv|Mb)Hl~P5}zY^aAd|bmH%U{L|dLp7@ zJP3-)-WX1wbU8}UUJB=SG6tN8oQX5^?Tq1ywk+9`X2djVzIj_(a-S?|)DV5ZuQP7h!@JC1{W&&060~m~v5%(ZUTDOJ1tv>6ykJ0<3{TGxv>^}2^B}i9o z*#hZdjm_v4hwlnacjsXkP`3aUgtsM@h*rvMLsXcryxkNd9f)Duws%(?&MbH~$(Prj zt*ra5@Z;V^=c0rm)~{C_YdWOVa;$(;t74q)`X#y1J7(Z734T-m;2WmlqGIo^MVq1a ze?}s;1NHH?f1gO`snb~@zz>-B?2SVYo)3W9u*`Xqx4`QO6GlZsRVrC_J$EO!`_sEn z?6U=4zd&e@yp5knS46a8D}{7%0AZgDUGyNr=WClyeM&}83d6z!LU7b*QEi<8(*3`w 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%0A1fu1?bIy`~6+L|)vir2D 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

hR*wdP}4=OFLF{I}@&2@b8-yL7ncEnab^>MEDU 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 z z+)^bQ>D@&fAW{-ua819eKrMe zjc`wy0-k=^9-dVFsy%r`(*&M7UF>qm?;qzvR?@olq%&36Rkki*d2@SdAFUBv#D#qr zs!V+l?3d6Y6G*)}1^XI{DmO{7n)IoR^v9bfF;=-3ypLs5X!2GZCvk2>k|f_q(}~1c z_QN!!3&h5V0H6e(!QMOAShq9Z=v;8P2av(`)I1RfjCX%m&=rZXH_i+dS?F7iN5)=& z`*Sx9KPEnOeA4~KuIFuy3?7El{qtN_X;OQv|Mb)Hl~P5}zY^aAd|bmH%U{L|dLp7@ zJP3-)-WX1wbU8}UUJB=SG6tN8oQX5^?Tq1ywk+9`X2djVzIj_(a-S?|)DV5ZuQP7h!@JC1{W&&060~m~v5%(ZUTDOJ1tv>6ykJ0<3{TGxv>^}2^B}i9o z*#hZdjm_v4hwlnacjsXkP`3aUgtsM@h*rvMLsXcryxkNd9f)Duws%(?&MbH~$(Prj zt*ra5@Z;V^=c0rm)~{C_YdWOVa;$(;t74q)`X#y1J7(Z734T-m;2WmlqGIo^MVq1a ze?}s;1NHH?f1gO`snb~@zz>-B?2SVYo)3W9u*`Xqx4`QO6GlZsRVrC_J$EO!`_sEn z?6U=4zd&e@yp5knS46a8D}{7%0AZgDUGyNr=WClyeM&}83d6z!LU7b*QEi<8(*3`w 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%0A1fu1?bIy`~6+L|)vir2D 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

hR*wdP}4=OFLF{I}@&2@b8-yL7ncEnab^>MEDU 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 z z+)^bQ>D@&fAW{-ua819eKrMe zjc`wy0-k=^9-dVFsy%r`(*&M7UF>qm?;qzvR?@olq%&36Rkki*d2@SdAFUBv#D#qr zs!V+l?3d6Y6G*)}1^XI{DmO{7n)IoR^v9bfF;=-3ypLs5X!2GZCvk2>k|f_q(}~1c z_QN!!3&h5V0H6e(!QMOAShq9Z=v;8P2av(`)I1RfjCX%m&=rZXH_i+dS?F7iN5)=& z`*Sx9KPEnOeA4~KuIFuy3?7El{qtN_X;OQv|Mb)Hl~P5}zY^aAd|bmH%U{L|dLp7@ zJP3-)-WX1wbU8}UUJB=SG6tN8oQX5^?Tq1ywk+9`X2djVzIj_(a-S?|)DV5ZuQP7h!@JC1{W&&060~m~v5%(ZUTDOJ1tv>6ykJ0<3{TGxv>^}2^B}i9o z*#hZdjm_v4hwlnacjsXkP`3aUgtsM@h*rvMLsXcryxkNd9f)Duws%(?&MbH~$(Prj zt*ra5@Z;V^=c0rm)~{C_YdWOVa;$(;t74q)`X#y1J7(Z734T-m;2WmlqGIo^MVq1a ze?}s;1NHH?f1gO`snb~@zz>-B?2SVYo)3W9u*`Xqx4`QO6GlZsRVrC_J$EO!`_sEn z?6U=4zd&e@yp5knS46a8D}{7%0AZgDUGyNr=WClyeM&}83d6z!LU7b*QEi<8(*3`w z_%^i1X!L2;?cJ|Qj7N1RWogE<>)ig4;7^E^kxEj2ZlirBHlqJ7X~IHNmTs{oP{pK* zzSCm!@deKTsYqzTTRm*{EovjeF(GXWVXvIP_~F;8G}eGfSJJ3JPO$nkP2W1cF#bXq zMlyq>w@8Rn-`*khfG&J}`QM~rXNCu0XTD-g%h%^d)z4PfN${=zSU%LGiqLm)Zvdaq)eeYYr5nF6E z`k*J&gX5xxs<-E6A6*Jc)#$vIaoY%i#iMWhd5QBdsq=vD+u1rpSzfbtYydXQo*NOo z#d9C+SK9tNiemPSicb-PmhGiA Date: Sat, 3 Sep 2022 09:57:52 +0000 Subject: [PATCH 08/19] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../lanenet_model/__init__.py | 7 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 128 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 132 bytes .../__pycache__/lanenet.cpython-36.pyc | Bin 0 -> 2279 bytes .../__pycache__/lanenet.cpython-37.pyc | Bin 0 -> 2275 bytes .../lanenet_back_end.cpython-36.pyc | Bin 0 -> 5563 bytes .../lanenet_back_end.cpython-37.pyc | Bin 0 -> 5559 bytes ...lanenet_discriminative_loss.cpython-36.pyc | Bin 0 -> 3366 bytes ...lanenet_discriminative_loss.cpython-37.pyc | Bin 0 -> 3357 bytes .../lanenet_front_end.cpython-36.pyc | Bin 0 -> 1300 bytes .../lanenet_front_end.cpython-37.pyc | Bin 0 -> 1296 bytes .../lanenet_postprocess.cpython-36.pyc | Bin 0 -> 10219 bytes .../lanenet_postprocess.cpython-37.pyc | Bin 0 -> 10219 bytes .../lanenet_model/lanenet.py | 111 +++++ .../lanenet_model/lanenet_back_end.py | 231 +++++++++ .../lanenet_discriminative_loss.py | 162 ++++++ .../lanenet_model/lanenet_front_end.py | 67 +++ .../lanenet_model/lanenet_postprocess.py | 463 ++++++++++++++++++ 18 files changed, 1041 insertions(+) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__init__.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_back_end.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_back_end.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_front_end.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_front_end.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_postprocess.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_postprocess.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_back_end.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_discriminative_loss.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_front_end.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_postprocess.py diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__init__.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__init__.py new file mode 100644 index 000000000..7b141554e --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__init__.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# @Time : 18-5-11 上午11:32 +# @Author : MaybeShewill-CV +# @Site : https://github.com/MaybeShewill-CV/lanenet-lane-detection +# @File : __init__.py.py +# @IDE: PyCharm Community Edition \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77ca079f0ab993eb7545e2bc652041fe1438e91b GIT binary patch literal 128 zcmXr!<>k5y zUl5a8mY7qTSdto(lbDy9ms%2^o1c=J6B8ewnU`4-AFo$Xd5gmaC{~)2Y6mi=7>F4F D#f=|+ literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b23f66e6511832f46bab5007f45b3af5baf24bfe GIT binary patch literal 132 zcmZ?b<>g`kf{U^9lRg6J#~=<2FajA4KwQiMBvKfH88jLFRx%WUgb~CqT^Fkum(=3y zlKg_0)Uw2!(!`R~n4HAC)V$P^_}u)I)SQ_3_{_Y_lK6PNg34PQHbAk`oK!oIF`t2$ F0RYh{APoQj literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34ed121c504cb0076efe3b417af9bfc0426a7cf8 GIT binary patch literal 2279 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 literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f3fff695c3722f4514b2fc7d44ab5e691edd1513 GIT binary patch literal 3366 zcmai0OONBY5f&xcvSqu+?S4OIR=WuTI0(>&H$01VpWkWl2sq8^rF}E|MBO)j{mS@ zS^u;)9vl2?d_@4lt&znUw^KH#)rIURqAq%=Z76@qsvfweYO9XwEuCr$ zlBb9=)#d(@EIonLQcqL|d>=en_ElfCmo^;1xbv-3Z5!RTBHP4w)HZk3HY}3V1;-56 zRNJeS2GDzIpt_hrd`}H9hPW+7)KRoE*jx2K!47(ynX~Pn2Qp`>XXIVTOzog`&} zp3of9`Oxiv-vdw9`f6`UJ8pbySNo8+IeF0KO~?n}25Mg&VEiHY9kr(p!5@KdtE2mq z9z*uIry5x482u!7)GsWOX`m0kBT=cV=0BfQLWESqhvP{n4d)h81+LOXKS`QXk^3_6wS4nvh#`z*E3+={HQEG3J=27|Lr`j!&8=-d>S&_?9 z@Nku(!eTMg4o@z1a~hQwLTWe5IY8W*~8BV=Cac9xf+z>HLP$9bNLC<|v%@lJPE(`V2OKhgdJrm)~9 zRCQ+qkh-&hGVQIfv}U+&-$MWvO>8J^Yc*ms>aASHLt0VyR*o}fvE7xJaNVrkIO=7K zS-8F}#i+OP8+j0(vuBG@d$tJ0*Yhajy0u1$Zlnan(Exo(2EgLvmzX2PeAIz%jL}B$ zAn;@|8SR*1GhFDX6k&MDec7=jVdriZ##EC=*B=;Vg$=?{LF59|znagavE^FCc zdlzyS<48~Ae4DJa=(YQ{{0S`I7t=!sK0dlZ#lJw1fbDOrs(owSvRnJsxpi+Fx6NDc zwl!&+dfuvhBx@=RHq~|Rp}ciI&`<$=JcbI)V-1y22c^}&v+i0bdtDT$E#8=VOXu9H zp5X0Q+tr}jsh+4lN}W~p)wXH3)xfj^wPRW;cn#G@*`PwwFy)krTEi4gDrF56I#wN^ z;O$WnGlimc^V+ZTm=s9aC<2dz5>T)LAT3DBA}BAU5J8;J<~ibA)_E-U;4*rsb@6?P zuh<8{noKo8%})mXfGp|n$Nr+uWR9d6K$R$P*-aK2dH^0(7u^^~WqhGq`2zI@d(a+n zxDU0;VAQC9Qq2;B$(np_jK+D!6WR#nI*Z+W`uJQm2w$c-fL*+LPNVP7(ZK}51OD-> zA_FNYHq9gJ&N9@wbMNdscIVwS?wZT?xm$Tvt7=!ivgy3aL&>+5WB3+$N4bW_&rs#6 zhT-wsR5g@^Up9hBZzjL0bwy6Up_=s4%s zDa3*(pVjFP3D8H%#B0kp7(Z-iFARAehoScCnt^(M jWujs7q#0EM!Jy#*60MiW^NUoxqT5o?p9NB^(|Y?q_8z7V literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4fc09df2e73a044ea1003b24482b1988c8528347 GIT binary patch literal 3357 zcmai0OONBm5oVK=C{fakM)Q8`nsy8WN`iF|=iv-Cn@#N83}3v+K^TDGuv;2>DN=4y zGoC>c2oM7^7yk$An7@*r(AS(cr<`+1zG_M{8t(#;z+zQ(cXe0Q*H!#eujgC%eQ`R7 zKijvgf0D5J*O>j@sf4wFQeL zb-^*iHPzN~rvdby8mKN-5Z_Y+%pq<=5p@(!MrU1)Z{h?!&Wvx{7>CT6>KSSXK!V1D!uW?6oKAAgLq6gV^b(^({= zX)u$5Coy5{6wn(BDF}P{ILJhKmCM)bbK_h}5tm^aor{#FFOh2G^@(Ekr$muQP_i;v$-f)4;rF?px-$NXsa^JPqP`i3#K2GLnh8GjP^io^_-3 zZ2mAiPUl4_Bt_<}$tEZv?41TzBAHy2%R5=hC|Ipq?Y6#2y^bvYcp)}gEnIE*I02M~ zP>RX@Lh$nx9^KSepOW|n*|a2)q5bB+_(>`_LtDGiw@IO$T=EGN<~L;01v6y2!OQEJ zSPi^fGXMU=a97*qSbI{K80*12OTL+l@G2=U!Z@F2Wue_TDoX8*(>y9a`K5M?nPQoH7x4R8o;!-gwcxOx_zI0STt#&jIGp2%c!>u84qbk-CG9En8k6IV#0N^ z4&$ho&8Ok&q7M9!YhNA2l66yMIGjO*44Ai9wf21f&oB^j^^&o8k?irJ_G z-8p6(!Gpk)@p!atrcH5|qf&$=E?O=}9g1Rji7N}CO#w8~8+DhfLQ;*$hDlm8g)R7t z&B@nJ9fBf`kQJBe#@{XZ49NP=r++>@6O>Qvb(Th%K&=R;IpTRQ!O&WF3u*PU*|k1; zhdwNlY?6u(V7d4UA$ZSad$!9C+&cGQ+3|bQ15&^hdR__4RuZj-PFIc?po+{UG$_4-k5j`=gg}% z@$Xk#)u7t0HdX%zcVSh1wPoI0YGB?2wQb(i;~J`uPC=cFdMTqm29Ek9x)-=@aQo5A#wgMRdG;`s_s zu?K=ZnQDTX?+W_nSkMQL{bgOe97!vHCQ;y$o9Z+4061zWx^W(r@r7>XbF>(oL3_mE z9@Hv>O``%jHA@T@Yx1!%8s{0W=pa-ZEq3$%W4~$;K2LK1x_I%7X5afkSfG!)Z9GK= zQc`Z3ht{2CsB`Du*>~*DyKCGv|JFWpE3ax*?aEg+`Kvs1d0RP#Z-IA|Yj}MBRIX|m z-Ur`M7QWIjQ$eemob6j8p}jEVc^rn?uX_dh{FTXu f0ic;x1Hqu-0TQj}sPpqwyrA$GlvtElr}gT81rxAk literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_front_end.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_front_end.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7abc9e60a8d3bbe65d82ca2919b29a479b84c727 GIT binary patch literal 1300 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 F{$Jd#Dslh- literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_postprocess.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_postprocess.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..72884ed450be233c5705e38d461a3d80bc886115 GIT binary patch literal 10219 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 P!Ensnv|Acq8R!26yQVz1 literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet.py new file mode 100644 index 000000000..89ca5421a --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet.py @@ -0,0 +1,111 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Implement LaneNet Model +""" +import tensorflow as tf + +from lanenet_model import lanenet_back_end +from lanenet_model import lanenet_front_end +from semantic_segmentation_zoo import cnn_basenet + + +class LaneNet(cnn_basenet.CNNBaseModel): + """ + + """ + def __init__(self, phase, cfg): + """ + + """ + super(LaneNet, self).__init__() + self._cfg = cfg + self._net_flag = self._cfg.MODEL.FRONT_END + + self._frontend = lanenet_front_end.LaneNetFrondEnd( + phase=phase, net_flag=self._net_flag, cfg=self._cfg + ) + self._backend = lanenet_back_end.LaneNetBackEnd( + phase=phase, cfg=self._cfg + ) + + def inference(self, input_tensor, name, reuse=False): + """ + + :param input_tensor: + :param name: + :param reuse + :return: + """ + with tf.variable_scope(name_or_scope=name, reuse=reuse): + # first extract image features + extract_feats_result = self._frontend.build_model( + input_tensor=input_tensor, + name='{:s}_frontend'.format(self._net_flag), + reuse=reuse + ) + + # second apply backend process + binary_seg_prediction, instance_seg_prediction = self._backend.inference( + binary_seg_logits=extract_feats_result['binary_segment_logits']['data'], + instance_seg_logits=extract_feats_result['instance_segment_logits']['data'], + name='{:s}_backend'.format(self._net_flag), + reuse=reuse + ) + + return binary_seg_prediction, instance_seg_prediction + + def compute_loss(self, input_tensor, binary_label, instance_label, name, reuse=False): + """ + calculate lanenet loss for training + :param input_tensor: + :param binary_label: + :param instance_label: + :param name: + :param reuse: + :return: + """ + with tf.variable_scope(name_or_scope=name, reuse=reuse): + # first extract image features + extract_feats_result = self._frontend.build_model( + input_tensor=input_tensor, + name='{:s}_frontend'.format(self._net_flag), + reuse=reuse + ) + + # second apply backend process + calculated_losses = self._backend.compute_loss( + binary_seg_logits=extract_feats_result['binary_segment_logits']['data'], + binary_label=binary_label, + instance_seg_logits=extract_feats_result['instance_segment_logits']['data'], + instance_label=instance_label, + name='{:s}_backend'.format(self._net_flag), + reuse=reuse + ) + + return calculated_losses diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_back_end.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_back_end.py new file mode 100644 index 000000000..da31ea69b --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_back_end.py @@ -0,0 +1,231 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +LaneNet backend branch which is mainly used for binary and instance segmentation loss calculation +""" +import tensorflow as tf + +from lanenet_model import lanenet_discriminative_loss +from semantic_segmentation_zoo import cnn_basenet + + +class LaneNetBackEnd(cnn_basenet.CNNBaseModel): + """ + LaneNet backend branch which is mainly used for binary and instance segmentation loss calculation + """ + def __init__(self, phase, cfg): + """ + init lanenet backend + :param phase: train or test + """ + super(LaneNetBackEnd, self).__init__() + self._cfg = cfg + self._phase = phase + self._is_training = self._is_net_for_training() + + self._class_nums = self._cfg.DATASET.NUM_CLASSES + self._embedding_dims = self._cfg.MODEL.EMBEDDING_FEATS_DIMS + self._binary_loss_type = self._cfg.SOLVER.LOSS_TYPE + + def _is_net_for_training(self): + """ + if the net is used for training or not + :return: + """ + if isinstance(self._phase, tf.Tensor): + phase = self._phase + else: + phase = tf.constant(self._phase, dtype=tf.string) + + return tf.equal(phase, tf.constant('train', dtype=tf.string)) + + @classmethod + def _compute_class_weighted_cross_entropy_loss(cls, onehot_labels, logits, classes_weights): + """ + + :param onehot_labels: + :param logits: + :param classes_weights: + :return: + """ + loss_weights = tf.reduce_sum(tf.multiply(onehot_labels, classes_weights), axis=3) + + loss = tf.losses.softmax_cross_entropy( + onehot_labels=onehot_labels, + logits=logits, + weights=loss_weights + ) + + return loss + + @classmethod + def _multi_category_focal_loss(cls, onehot_labels, logits, classes_weights, gamma=2.0): + """ + + :param onehot_labels: + :param logits: + :param classes_weights: + :param gamma: + :return: + """ + epsilon = 1.e-7 + alpha = tf.multiply(onehot_labels, classes_weights) + alpha = tf.cast(alpha, tf.float32) + gamma = float(gamma) + y_true = tf.cast(onehot_labels, tf.float32) + y_pred = tf.nn.softmax(logits, dim=-1) + y_pred = tf.clip_by_value(y_pred, epsilon, 1. - epsilon) + y_t = tf.multiply(y_true, y_pred) + tf.multiply(1-y_true, 1-y_pred) + ce = -tf.log(y_t) + weight = tf.pow(tf.subtract(1., y_t), gamma) + fl = tf.multiply(tf.multiply(weight, ce), alpha) + loss = tf.reduce_mean(fl) + + return loss + + def compute_loss(self, binary_seg_logits, binary_label, + instance_seg_logits, instance_label, + name, reuse): + """ + compute lanenet loss + :param binary_seg_logits: + :param binary_label: + :param instance_seg_logits: + :param instance_label: + :param name: + :param reuse: + :return: + """ + with tf.variable_scope(name_or_scope=name, reuse=reuse): + # calculate class weighted binary seg loss + with tf.variable_scope(name_or_scope='binary_seg'): + binary_label_onehot = tf.one_hot( + tf.reshape( + tf.cast(binary_label, tf.int32), + shape=[binary_label.get_shape().as_list()[0], + binary_label.get_shape().as_list()[1], + binary_label.get_shape().as_list()[2]]), + depth=self._class_nums, + axis=-1 + ) + + binary_label_plain = tf.reshape( + binary_label, + shape=[binary_label.get_shape().as_list()[0] * + binary_label.get_shape().as_list()[1] * + binary_label.get_shape().as_list()[2] * + binary_label.get_shape().as_list()[3]]) + unique_labels, unique_id, counts = tf.unique_with_counts(binary_label_plain) + counts = tf.cast(counts, tf.float32) + inverse_weights = tf.divide( + 1.0, + tf.log(tf.add(tf.divide(counts, tf.reduce_sum(counts)), tf.constant(1.02))) + ) + if self._binary_loss_type == 'cross_entropy': + binary_segmenatation_loss = self._compute_class_weighted_cross_entropy_loss( + onehot_labels=binary_label_onehot, + logits=binary_seg_logits, + classes_weights=inverse_weights + ) + elif self._binary_loss_type == 'focal': + binary_segmenatation_loss = self._multi_category_focal_loss( + onehot_labels=binary_label_onehot, + logits=binary_seg_logits, + classes_weights=inverse_weights + ) + else: + raise NotImplementedError + + # calculate class weighted instance seg loss + with tf.variable_scope(name_or_scope='instance_seg'): + + pix_bn = self.layerbn( + inputdata=instance_seg_logits, is_training=self._is_training, name='pix_bn') + pix_relu = self.relu(inputdata=pix_bn, name='pix_relu') + pix_embedding = self.conv2d( + inputdata=pix_relu, + out_channel=self._embedding_dims, + kernel_size=1, + use_bias=False, + name='pix_embedding_conv' + ) + pix_image_shape = (pix_embedding.get_shape().as_list()[1], pix_embedding.get_shape().as_list()[2]) + instance_segmentation_loss, l_var, l_dist, l_reg = \ + lanenet_discriminative_loss.discriminative_loss( + pix_embedding, instance_label, self._embedding_dims, + pix_image_shape, 0.5, 3.0, 1.0, 1.0, 0.001 + ) + + l2_reg_loss = tf.constant(0.0, tf.float32) + for vv in tf.trainable_variables(): + if 'bn' in vv.name or 'gn' in vv.name: + continue + else: + l2_reg_loss = tf.add(l2_reg_loss, tf.nn.l2_loss(vv)) + l2_reg_loss *= 0.001 + total_loss = binary_segmenatation_loss + instance_segmentation_loss + l2_reg_loss + + ret = { + 'total_loss': total_loss, + 'binary_seg_logits': binary_seg_logits, + 'instance_seg_logits': pix_embedding, + 'binary_seg_loss': binary_segmenatation_loss, + 'discriminative_loss': instance_segmentation_loss + } + + return ret + + def inference(self, binary_seg_logits, instance_seg_logits, name, reuse): + """ + + :param binary_seg_logits: + :param instance_seg_logits: + :param name: + :param reuse: + :return: + """ + with tf.variable_scope(name_or_scope=name, reuse=reuse): + + with tf.variable_scope(name_or_scope='binary_seg'): + binary_seg_score = tf.nn.softmax(logits=binary_seg_logits) + binary_seg_prediction = tf.argmax(binary_seg_score, axis=-1) + + with tf.variable_scope(name_or_scope='instance_seg'): + + pix_bn = self.layerbn( + inputdata=instance_seg_logits, is_training=self._is_training, name='pix_bn') + pix_relu = self.relu(inputdata=pix_bn, name='pix_relu') + instance_seg_prediction = self.conv2d( + inputdata=pix_relu, + out_channel=self._embedding_dims, + kernel_size=1, + use_bias=False, + name='pix_embedding_conv' + ) + + return binary_seg_prediction, instance_seg_prediction diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_discriminative_loss.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_discriminative_loss.py new file mode 100644 index 000000000..f6c12b3e5 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_discriminative_loss.py @@ -0,0 +1,162 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Discriminative Loss for instance segmentation +""" +import tensorflow as tf + + +def discriminative_loss_single( + prediction, + correct_label, + feature_dim, + label_shape, + delta_v, + delta_d, + param_var, + param_dist, + param_reg): + """ + discriminative loss + :param prediction: inference of network + :param correct_label: instance label + :param feature_dim: feature dimension of prediction + :param label_shape: shape of label + :param delta_v: cut off variance distance + :param delta_d: cut off cluster distance + :param param_var: weight for intra cluster variance + :param param_dist: weight for inter cluster distances + :param param_reg: weight regularization + """ + correct_label = tf.reshape( + correct_label, [label_shape[1] * label_shape[0]] + ) + reshaped_pred = tf.reshape( + prediction, [label_shape[1] * label_shape[0], feature_dim] + ) + + # calculate instance nums + unique_labels, unique_id, counts = tf.unique_with_counts(correct_label) + counts = tf.cast(counts, tf.float32) + num_instances = tf.size(unique_labels) + + # calculate instance pixel embedding mean vec + segmented_sum = tf.unsorted_segment_sum( + reshaped_pred, unique_id, num_instances) + mu = tf.div(segmented_sum, tf.reshape(counts, (-1, 1))) + mu_expand = tf.gather(mu, unique_id) + + distance = tf.norm(tf.subtract(mu_expand, reshaped_pred), axis=1, ord=1) + distance = tf.subtract(distance, delta_v) + distance = tf.clip_by_value(distance, 0., distance) + distance = tf.square(distance) + + l_var = tf.unsorted_segment_sum(distance, unique_id, num_instances) + l_var = tf.div(l_var, counts) + l_var = tf.reduce_sum(l_var) + l_var = tf.divide(l_var, tf.cast(num_instances, tf.float32)) + + mu_interleaved_rep = tf.tile(mu, [num_instances, 1]) + mu_band_rep = tf.tile(mu, [1, num_instances]) + mu_band_rep = tf.reshape( + mu_band_rep, + (num_instances * + num_instances, + feature_dim)) + + mu_diff = tf.subtract(mu_band_rep, mu_interleaved_rep) + + intermediate_tensor = tf.reduce_sum(tf.abs(mu_diff), axis=1) + zero_vector = tf.zeros(1, dtype=tf.float32) + bool_mask = tf.not_equal(intermediate_tensor, zero_vector) + mu_diff_bool = tf.boolean_mask(mu_diff, bool_mask) + + mu_norm = tf.norm(mu_diff_bool, axis=1, ord=1) + mu_norm = tf.subtract(2. * delta_d, mu_norm) + mu_norm = tf.clip_by_value(mu_norm, 0., mu_norm) + mu_norm = tf.square(mu_norm) + + l_dist = tf.reduce_mean(mu_norm) + + l_reg = tf.reduce_mean(tf.norm(mu, axis=1, ord=1)) + + param_scale = 1. + l_var = param_var * l_var + l_dist = param_dist * l_dist + l_reg = param_reg * l_reg + + loss = param_scale * (l_var + l_dist + l_reg) + + return loss, l_var, l_dist, l_reg + + +def discriminative_loss(prediction, correct_label, feature_dim, image_shape, + delta_v, delta_d, param_var, param_dist, param_reg): + """ + + :return: discriminative loss and its three components + """ + + def cond(label, batch, out_loss, out_var, out_dist, out_reg, i): + return tf.less(i, tf.shape(batch)[0]) + + def body(label, batch, out_loss, out_var, out_dist, out_reg, i): + disc_loss, l_var, l_dist, l_reg = discriminative_loss_single( + prediction[i], correct_label[i], feature_dim, image_shape, delta_v, delta_d, param_var, param_dist, param_reg) + + out_loss = out_loss.write(i, disc_loss) + out_var = out_var.write(i, l_var) + out_dist = out_dist.write(i, l_dist) + out_reg = out_reg.write(i, l_reg) + + return label, batch, out_loss, out_var, out_dist, out_reg, i + 1 + + # TensorArray is a data structure that support dynamic writing + output_ta_loss = tf.TensorArray( + dtype=tf.float32, size=0, dynamic_size=True) + output_ta_var = tf.TensorArray( + dtype=tf.float32, size=0, dynamic_size=True) + output_ta_dist = tf.TensorArray( + dtype=tf.float32, size=0, dynamic_size=True) + output_ta_reg = tf.TensorArray( + dtype=tf.float32, size=0, dynamic_size=True) + + _, _, out_loss_op, out_var_op, out_dist_op, out_reg_op, _ = tf.while_loop( + cond, body, [ + correct_label, prediction, output_ta_loss, output_ta_var, output_ta_dist, output_ta_reg, 0]) + out_loss_op = out_loss_op.stack() + out_var_op = out_var_op.stack() + out_dist_op = out_dist_op.stack() + out_reg_op = out_reg_op.stack() + + disc_loss = tf.reduce_mean(out_loss_op) + l_var = tf.reduce_mean(out_var_op) + l_dist = tf.reduce_mean(out_dist_op) + l_reg = tf.reduce_mean(out_reg_op) + + return disc_loss, l_var, l_dist, l_reg diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_front_end.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_front_end.py new file mode 100644 index 000000000..a0112f878 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_front_end.py @@ -0,0 +1,67 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +LaneNet frontend branch which is mainly used for feature extraction +""" +from semantic_segmentation_zoo import cnn_basenet +from semantic_segmentation_zoo import vgg16_based_fcn +from semantic_segmentation_zoo import bisenet_v2 + + +class LaneNetFrondEnd(cnn_basenet.CNNBaseModel): + """ + LaneNet frontend which is used to extract image features for following process + """ + def __init__(self, phase, net_flag, cfg): + """ + + """ + super(LaneNetFrondEnd, self).__init__() + self._cfg = cfg + + self._frontend_net_map = { + 'vgg': vgg16_based_fcn.VGG16FCN(phase=phase, cfg=self._cfg), + 'bisenetv2': bisenet_v2.BiseNetV2(phase=phase, cfg=self._cfg), + } + + self._net = self._frontend_net_map[net_flag] + + def build_model(self, input_tensor, name, reuse): + """ + + :param input_tensor: + :param name: + :param reuse: + :return: + """ + + return self._net.build_model( + input_tensor=input_tensor, + name=name, + reuse=reuse + ) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_postprocess.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_postprocess.py new file mode 100644 index 000000000..2fe33f9ad --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_postprocess.py @@ -0,0 +1,463 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +LaneNet model post process +""" +import os.path as ops +import math + +import cv2 +import numpy as np +import loguru +from sklearn.cluster import DBSCAN +from sklearn.preprocessing import StandardScaler + +LOG = loguru.logger + + +def _morphological_process(image, kernel_size=5): + """ + morphological process to fill the hole in the binary segmentation result + :param image: + :param kernel_size: + :return: + """ + if len(image.shape) == 3: + raise ValueError('Binary segmentation result image should be a single channel image') + + if image.dtype is not np.uint8: + image = np.array(image, np.uint8) + + kernel = cv2.getStructuringElement(shape=cv2.MORPH_ELLIPSE, ksize=(kernel_size, kernel_size)) + + # close operation fille hole + closing = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel, iterations=1) + + return closing + + +def _connect_components_analysis(image): + """ + connect components analysis to remove the small components + :param image: + :return: + """ + if len(image.shape) == 3: + gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + else: + gray_image = image + + return cv2.connectedComponentsWithStats(gray_image, connectivity=8, ltype=cv2.CV_32S) + + +class _LaneFeat(object): + """ + + """ + def __init__(self, feat, coord, class_id=-1): + """ + lane feat object + :param feat: lane embeddng feats [feature_1, feature_2, ...] + :param coord: lane coordinates [x, y] + :param class_id: lane class id + """ + self._feat = feat + self._coord = coord + self._class_id = class_id + + @property + def feat(self): + """ + + :return: + """ + return self._feat + + @feat.setter + def feat(self, value): + """ + + :param value: + :return: + """ + if not isinstance(value, np.ndarray): + value = np.array(value, dtype=np.float64) + + if value.dtype != np.float32: + value = np.array(value, dtype=np.float64) + + self._feat = value + + @property + def coord(self): + """ + + :return: + """ + return self._coord + + @coord.setter + def coord(self, value): + """ + + :param value: + :return: + """ + if not isinstance(value, np.ndarray): + value = np.array(value) + + if value.dtype != np.int32: + value = np.array(value, dtype=np.int32) + + self._coord = value + + @property + def class_id(self): + """ + + :return: + """ + return self._class_id + + @class_id.setter + def class_id(self, value): + """ + + :param value: + :return: + """ + if not isinstance(value, np.int64): + raise ValueError('Class id must be integer') + + self._class_id = value + + +class _LaneNetCluster(object): + """ + Instance segmentation result cluster + """ + + def __init__(self, cfg): + """ + + """ + self._color_map = [np.array([255, 0, 0]), + np.array([0, 255, 0]), + np.array([0, 0, 255]), + np.array([125, 125, 0]), + np.array([0, 125, 125]), + np.array([125, 0, 125]), + np.array([50, 100, 50]), + np.array([100, 50, 100])] + self._cfg = cfg + + def _embedding_feats_dbscan_cluster(self, embedding_image_feats): + """ + dbscan cluster + :param embedding_image_feats: + :return: + """ + db = DBSCAN(eps=self._cfg.POSTPROCESS.DBSCAN_EPS, min_samples=self._cfg.POSTPROCESS.DBSCAN_MIN_SAMPLES) + try: + features = StandardScaler().fit_transform(embedding_image_feats) + db.fit(features) + except Exception as err: + LOG.error(err) + ret = { + 'origin_features': None, + 'cluster_nums': 0, + 'db_labels': None, + 'unique_labels': None, + 'cluster_center': None + } + return ret + db_labels = db.labels_ + unique_labels = np.unique(db_labels) + + num_clusters = len(unique_labels) + cluster_centers = db.components_ + + ret = { + 'origin_features': features, + 'cluster_nums': num_clusters, + 'db_labels': db_labels, + 'unique_labels': unique_labels, + 'cluster_center': cluster_centers + } + + return ret + + @staticmethod + def _get_lane_embedding_feats(binary_seg_ret, instance_seg_ret): + """ + get lane embedding features according the binary seg result + :param binary_seg_ret: + :param instance_seg_ret: + :return: + """ + idx = np.where(binary_seg_ret == 255) + lane_embedding_feats = instance_seg_ret[idx] + lane_coordinate = np.vstack((idx[1], idx[0])).transpose() + + assert lane_embedding_feats.shape[0] == lane_coordinate.shape[0] + + ret = { + 'lane_embedding_feats': lane_embedding_feats, + 'lane_coordinates': lane_coordinate + } + + return ret + + def apply_lane_feats_cluster(self, binary_seg_result, instance_seg_result): + """ + + :param binary_seg_result: + :param instance_seg_result: + :return: + """ + # get embedding feats and coords + get_lane_embedding_feats_result = self._get_lane_embedding_feats( + binary_seg_ret=binary_seg_result, + instance_seg_ret=instance_seg_result + ) + + # dbscan cluster + dbscan_cluster_result = self._embedding_feats_dbscan_cluster( + embedding_image_feats=get_lane_embedding_feats_result['lane_embedding_feats'] + ) + + mask = np.zeros(shape=[binary_seg_result.shape[0], binary_seg_result.shape[1], 3], dtype=np.uint8) + db_labels = dbscan_cluster_result['db_labels'] + unique_labels = dbscan_cluster_result['unique_labels'] + coord = get_lane_embedding_feats_result['lane_coordinates'] + + if db_labels is None: + return None, None + + lane_coords = [] + for index, label in enumerate(unique_labels.tolist()): + if label == -1: + continue + idx = np.where(db_labels == label) + pix_coord_idx = tuple((coord[idx][:, 1], coord[idx][:, 0])) + mask[pix_coord_idx] = self._color_map[index] + lane_coords.append(coord[idx]) + + return mask, lane_coords + + +class LaneNetPostProcessor(object): + """ + lanenet post process for lane generation + """ + def __init__(self, cfg, ipm_remap_file_path='./eval_data/tusimple_ipm_remap.yml'): + """ + + :param ipm_remap_file_path: ipm generate file path + """ + assert ops.exists(ipm_remap_file_path), '{:s} not exist'.format(ipm_remap_file_path) + + self._cfg = cfg + self._cluster = _LaneNetCluster(cfg=cfg) + self._ipm_remap_file_path = ipm_remap_file_path + + remap_file_load_ret = self._load_remap_matrix() + self._remap_to_ipm_x = remap_file_load_ret['remap_to_ipm_x'] + self._remap_to_ipm_y = remap_file_load_ret['remap_to_ipm_y'] + + self._color_map = [np.array([255, 0, 0]), + np.array([0, 255, 0]), + np.array([0, 0, 255]), + np.array([125, 125, 0]), + np.array([0, 125, 125]), + np.array([125, 0, 125]), + np.array([50, 100, 50]), + np.array([100, 50, 100])] + + def _load_remap_matrix(self): + """ + + :return: + """ + fs = cv2.FileStorage(self._ipm_remap_file_path, cv2.FILE_STORAGE_READ) + + remap_to_ipm_x = fs.getNode('remap_ipm_x').mat() + remap_to_ipm_y = fs.getNode('remap_ipm_y').mat() + + ret = { + 'remap_to_ipm_x': remap_to_ipm_x, + 'remap_to_ipm_y': remap_to_ipm_y, + } + + fs.release() + + return ret + + def postprocess(self, binary_seg_result, instance_seg_result=None, + min_area_threshold=100, source_image=None, + with_lane_fit=True, data_source='tusimple'): + """ + + :param binary_seg_result: + :param instance_seg_result: + :param min_area_threshold: + :param source_image: + :param with_lane_fit: + :param data_source: + :return: + """ + # convert binary_seg_result + binary_seg_result = np.array(binary_seg_result * 255, dtype=np.uint8) + + # apply image morphology operation to fill in the hold and reduce the small area + morphological_ret = _morphological_process(binary_seg_result, kernel_size=5) + + connect_components_analysis_ret = _connect_components_analysis(image=morphological_ret) + + labels = connect_components_analysis_ret[1] + stats = connect_components_analysis_ret[2] + for index, stat in enumerate(stats): + if stat[4] <= min_area_threshold: + idx = np.where(labels == index) + morphological_ret[idx] = 0 + + # apply embedding features cluster + mask_image, lane_coords = self._cluster.apply_lane_feats_cluster( + binary_seg_result=morphological_ret, + instance_seg_result=instance_seg_result + ) + + if mask_image is None: + return { + 'mask_image': None, + 'fit_params': None, + 'source_image': None, + } + if not with_lane_fit: + tmp_mask = cv2.resize( + mask_image, + dsize=(source_image.shape[1], source_image.shape[0]), + interpolation=cv2.INTER_NEAREST + ) + source_image = cv2.addWeighted(source_image, 0.6, tmp_mask, 0.4, 0.0, dst=source_image) + return { + 'mask_image': mask_image, + 'fit_params': None, + 'source_image': source_image, + } + + # lane line fit + fit_params = [] + src_lane_pts = [] # lane pts every single lane + for lane_index, coords in enumerate(lane_coords): + if data_source == 'tusimple': + tmp_mask = np.zeros(shape=(720, 1280), dtype=np.uint8) + tmp_mask[tuple((np.int_(coords[:, 1] * 720 / 256), np.int_(coords[:, 0] * 1280 / 512)))] = 255 + else: + raise ValueError('Wrong data source now only support tusimple') + tmp_ipm_mask = cv2.remap( + tmp_mask, + self._remap_to_ipm_x, + self._remap_to_ipm_y, + interpolation=cv2.INTER_NEAREST + ) + nonzero_y = np.array(tmp_ipm_mask.nonzero()[0]) + nonzero_x = np.array(tmp_ipm_mask.nonzero()[1]) + + fit_param = np.polyfit(nonzero_y, nonzero_x, 2) + fit_params.append(fit_param) + + [ipm_image_height, ipm_image_width] = tmp_ipm_mask.shape + plot_y = np.linspace(10, ipm_image_height, ipm_image_height - 10) + fit_x = fit_param[0] * plot_y ** 2 + fit_param[1] * plot_y + fit_param[2] + # fit_x = fit_param[0] * plot_y ** 3 + fit_param[1] * plot_y ** 2 + fit_param[2] * plot_y + fit_param[3] + + lane_pts = [] + for index in range(0, plot_y.shape[0], 5): + src_x = self._remap_to_ipm_x[ + int(plot_y[index]), int(np.clip(fit_x[index], 0, ipm_image_width - 1))] + if src_x <= 0: + continue + src_y = self._remap_to_ipm_y[ + int(plot_y[index]), int(np.clip(fit_x[index], 0, ipm_image_width - 1))] + src_y = src_y if src_y > 0 else 0 + + lane_pts.append([src_x, src_y]) + + src_lane_pts.append(lane_pts) + + # tusimple test data sample point along y axis every 10 pixels + source_image_width = source_image.shape[1] + for index, single_lane_pts in enumerate(src_lane_pts): + single_lane_pt_x = np.array(single_lane_pts, dtype=np.float32)[:, 0] + single_lane_pt_y = np.array(single_lane_pts, dtype=np.float32)[:, 1] + if data_source == 'tusimple': + start_plot_y = 240 + end_plot_y = 720 + else: + raise ValueError('Wrong data source now only support tusimple') + step = int(math.floor((end_plot_y - start_plot_y) / 10)) + for plot_y in np.linspace(start_plot_y, end_plot_y, step): + diff = single_lane_pt_y - plot_y + fake_diff_bigger_than_zero = diff.copy() + fake_diff_smaller_than_zero = diff.copy() + fake_diff_bigger_than_zero[np.where(diff <= 0)] = float('inf') + fake_diff_smaller_than_zero[np.where(diff > 0)] = float('-inf') + idx_low = np.argmax(fake_diff_smaller_than_zero) + idx_high = np.argmin(fake_diff_bigger_than_zero) + + previous_src_pt_x = single_lane_pt_x[idx_low] + previous_src_pt_y = single_lane_pt_y[idx_low] + last_src_pt_x = single_lane_pt_x[idx_high] + last_src_pt_y = single_lane_pt_y[idx_high] + + if previous_src_pt_y < start_plot_y or last_src_pt_y < start_plot_y or \ + fake_diff_smaller_than_zero[idx_low] == float('-inf') or \ + fake_diff_bigger_than_zero[idx_high] == float('inf'): + continue + + interpolation_src_pt_x = (abs(previous_src_pt_y - plot_y) * previous_src_pt_x + + abs(last_src_pt_y - plot_y) * last_src_pt_x) / \ + (abs(previous_src_pt_y - plot_y) + abs(last_src_pt_y - plot_y)) + interpolation_src_pt_y = (abs(previous_src_pt_y - plot_y) * previous_src_pt_y + + abs(last_src_pt_y - plot_y) * last_src_pt_y) / \ + (abs(previous_src_pt_y - plot_y) + abs(last_src_pt_y - plot_y)) + + if interpolation_src_pt_x > source_image_width or interpolation_src_pt_x < 10: + continue + + lane_color = self._color_map[index].tolist() + cv2.circle(source_image, (int(interpolation_src_pt_x), + int(interpolation_src_pt_y)), 5, lane_color, -1) + ret = { + 'mask_image': mask_image, + 'fit_params': fit_params, + 'source_image': source_image, + } + + return ret -- Gitee From b51aa82c9a9acf7241c404b03c71e542a8cf2110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 09:58:14 +0000 Subject: [PATCH 09/19] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../local_utils/config_utils/__init__.py | 7 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 139 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 143 bytes .../parse_config_utils.cpython-36.pyc | Bin 0 -> 5949 bytes .../parse_config_utils.cpython-37.pyc | Bin 0 -> 5912 bytes .../config_utils/parse_config_utils.py | 245 ++++++++++++++++++ .../local_utils/log_util/__init__.py | 10 + .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 171 bytes .../__pycache__/init_logger.cpython-37.pyc | Bin 0 -> 979 bytes .../local_utils/log_util/init_logger.py | 68 +++++ 10 files changed, 330 insertions(+) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__init__.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/parse_config_utils.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__init__.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/__init__.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/init_logger.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/init_logger.py diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__init__.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__init__.py new file mode 100644 index 000000000..e076ab98d --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__init__.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# @Time : 2020/6/11 下午5:46 +# @Author : MaybeShewill-CV +# @Site : https://github.com/MaybeShewill-CV/lanenet-lane-detection +# @File : __init__.py +# @IDE: PyCharm diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b93f37c3ce6a3c5dbd378dcd54f1a38cf1432168 GIT binary patch literal 139 zcmXr!<>k5y zUl5a8mY7qTSdto(lb@WJ6JJ`AnNu8-oS&DLnGWT|$7kkcmc+;F6;$5hu*uC&Da}c> K1DRM1#0&sp{UjU! literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..370df58d2088a2c1f041a1a5adefeae384d048d0 GIT binary patch literal 143 zcmZ?b<>g`kf{U^9lkNfO#~=<2FajA4KwQiMBvKfH88jLFRx%WUgb~Cq3m2;xm(=3y zlKg_0)Uw2!(!`R~n4J9N#GLrjlFXdqnB@Gtw9IrUCq6ziFS8^*Uaz3?7Kcr4eoARh MsvXG0&p^xo0B=4ds{jB1 literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f34ce495c479a63f48e15a12a747de111f7b9668 GIT binary patch literal 5949 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 literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e67ae8d74a61d41ba073dedde44e520eef307aba GIT binary patch literal 5912 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 literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/parse_config_utils.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/parse_config_utils.py new file mode 100644 index 000000000..2f7359fc2 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/parse_config_utils.py @@ -0,0 +1,245 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Parse config utils +""" +import os +import yaml +import json +import codecs +from ast import literal_eval + + +class Config(dict): + """ + Config class + """ + def __init__(self, *args, **kwargs): + """ + init class + :param args: + :param kwargs: + """ + if 'config_path' in kwargs: + config_content = self._load_config_file(kwargs['config_path']) + super(Config, self).__init__(config_content) + else: + super(Config, self).__init__(*args, **kwargs) + self.immutable = False + + def __setattr__(self, key, value, create_if_not_exist=True): + """ + + :param key: + :param value: + :param create_if_not_exist: + :return: + """ + if key in ["immutable"]: + self.__dict__[key] = value + return + + t = self + keylist = key.split(".") + for k in keylist[:-1]: + t = t.__getattr__(k, create_if_not_exist) + + t.__getattr__(keylist[-1], create_if_not_exist) + t[keylist[-1]] = value + + def __getattr__(self, key, create_if_not_exist=True): + """ + + :param key: + :param create_if_not_exist: + :return: + """ + if key in ["immutable"]: + return self.__dict__[key] + + if key not in self: + if not create_if_not_exist: + raise KeyError + self[key] = Config() + if isinstance(self[key], dict): + self[key] = Config(self[key]) + return self[key] + + def __setitem__(self, key, value): + """ + + :param key: + :param value: + :return: + """ + if self.immutable: + raise AttributeError( + 'Attempted to set "{}" to "{}", but SegConfig is immutable'. + format(key, value)) + # + if isinstance(value, str): + try: + value = literal_eval(value) + except ValueError: + pass + except SyntaxError: + pass + super(Config, self).__setitem__(key, value) + + @staticmethod + def _load_config_file(config_file_path): + """ + + :param config_file_path + :return: + """ + if not os.access(config_file_path, os.R_OK): + raise OSError('Config file: {:s}, can not be read'.format(config_file_path)) + with open(config_file_path, 'r') as f: + config_content = yaml.safe_load(f) + + return config_content + + def update_from_config(self, other): + """ + + :param other: + :return: + """ + if isinstance(other, dict): + other = Config(other) + assert isinstance(other, Config) + diclist = [("", other)] + while len(diclist): + prefix, tdic = diclist[0] + diclist = diclist[1:] + for key, value in tdic.items(): + key = "{}.{}".format(prefix, key) if prefix else key + if isinstance(value, dict): + diclist.append((key, value)) + continue + try: + self.__setattr__(key, value, create_if_not_exist=False) + except KeyError: + raise KeyError('Non-existent config key: {}'.format(key)) + + def check_and_infer(self): + """ + + :return: + """ + if self.DATASET.IMAGE_TYPE in ['rgb', 'gray']: + self.DATASET.DATA_DIM = 3 + elif self.DATASET.IMAGE_TYPE in ['rgba']: + self.DATASET.DATA_DIM = 4 + else: + raise KeyError( + 'DATASET.IMAGE_TYPE config error, only support `rgb`, `gray` and `rgba`' + ) + if self.MEAN is not None: + self.DATASET.PADDING_VALUE = [x * 255.0 for x in self.MEAN] + + if not self.TRAIN_CROP_SIZE: + raise ValueError( + 'TRAIN_CROP_SIZE is empty! Please set a pair of values in format (width, height)' + ) + + if not self.EVAL_CROP_SIZE: + raise ValueError( + 'EVAL_CROP_SIZE is empty! Please set a pair of values in format (width, height)' + ) + + # Ensure file list is use UTF-8 encoding + train_sets = codecs.open(self.DATASET.TRAIN_FILE_LIST, 'r', 'utf-8').readlines() + val_sets = codecs.open(self.DATASET.VAL_FILE_LIST, 'r', 'utf-8').readlines() + test_sets = codecs.open(self.DATASET.TEST_FILE_LIST, 'r', 'utf-8').readlines() + self.DATASET.TRAIN_TOTAL_IMAGES = len(train_sets) + self.DATASET.VAL_TOTAL_IMAGES = len(val_sets) + self.DATASET.TEST_TOTAL_IMAGES = len(test_sets) + + if self.MODEL.MODEL_NAME == 'icnet' and \ + len(self.MODEL.MULTI_LOSS_WEIGHT) != 3: + self.MODEL.MULTI_LOSS_WEIGHT = [1.0, 0.4, 0.16] + + def update_from_list(self, config_list): + if len(config_list) % 2 != 0: + raise ValueError( + "Command line options config format error! Please check it: {}". + format(config_list)) + for key, value in zip(config_list[0::2], config_list[1::2]): + try: + self.__setattr__(key, value, create_if_not_exist=False) + except KeyError: + raise KeyError('Non-existent config key: {}'.format(key)) + + def update_from_file(self, config_file): + """ + + :param config_file: + :return: + """ + with codecs.open(config_file, 'r', 'utf-8') as f: + dic = yaml.safe_load(f) + self.update_from_config(dic) + + def set_immutable(self, immutable): + """ + + :param immutable: + :return: + """ + self.immutable = immutable + for value in self.values(): + if isinstance(value, Config): + value.set_immutable(immutable) + + def is_immutable(self): + """ + + :return: + """ + return self.immutable + + def dump_to_json_file(self, f_obj): + """ + + :param f_obj: + :return: + """ + origin_dict = dict() + for key, val in self.items(): + if isinstance(val, Config): + origin_dict.update({key: dict(val)}) + elif isinstance(val, dict): + origin_dict.update({key: val}) + else: + raise TypeError('Not supported type {}'.format(type(val))) + return json.dump(origin_dict, f_obj) + + +lanenet_cfg = Config(config_path='E:/evaluate/config/tusimple_lanenet.yaml') diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__init__.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__init__.py new file mode 100644 index 000000000..506b5b98e --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__init__.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# @Time : 2019/11/14 下午8:18 +# @Author : MaybeShewill-CV +# @Site : https://github.com/MaybeShewill-CV/bisenetv2-tensorflow +# @File : __init__.py.py +# @IDE: PyCharm +""" +日志配置类 +""" \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/__init__.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2be82217ad78c858abcfac7d69a91aedcc5b37cb GIT binary patch literal 171 zcmZ?b<>g`kf{U^9lfDD##~=<2FajA4KwQiLBvKfn7*ZI688n$n1%X_yXVaHH-9PD>z;4i&E==bc#AzgJ|#anK7J)b5fe}inD}MlVin_(TAW>yUl5a8mY7qTSdto( vlb@WJ6JJ`AnNtj8r-NBB@$s2?nI-Y@dIgoYIBatBQ%ZAE?Lf}^48#lo`qVPX literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/init_logger.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/init_logger.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..45ad04c0e50d67c5d212306b878d9071e2243f35 GIT binary patch literal 979 zcmZuwOK;Oa5MJBsN1OzeQlSD8iV!*EkU*~ys^}vPl|m||q6n*!v9cTE)Q@PrDKw2G z4oJYE5+}~>kqbvI@Jsdz1@RX+G3&HakQi&edF*)njXhp3mu&>nX)g9ZTL^uZ!KJ9+ zJOoWw0SIysQHUBUk?Ls5%*PJSbGoC0)j}gO9aBNn99m9+V4}Z4j!o2ER5K<^b|>*G zjD{W$4ryh~gD|y!Lub^jDPnQtv6Q;~Bpw95n;-TSc?e>FnxGq?={o?9P8Fg6s-Wl$ zohfH(2HZ}yDVj=O<@i+R#t?W+RfsiS7}^;oS~klT2|iF+m*7l~@8oqwqC@66(IK;N zkue}MB1Wc9@vt=2raCc+MGC||(G@hsFjaBf20FG~0cpYnUQ`Ja-yH-Ybz?80?ugMr z@Tw`ZKR>?x@%793hm-U7C%?YEp54PJAG5fb2a~JSXZ31SuabK8QN8-OUfrFPkDF=c zN@zd}fw#L`J3`-Vtv_iC^XXczyWMRIz18dO^d`&4JcwvkIS%O|4Z%hN2nny^@5KI4i zRl-iW$G9t>;gtWWm`-`P5WKU=K* zAP%?-5m0K3j)d*g%diFw(z^i2xUQ6x1=Ub6SmQ#miWT+ZvNU!J>S{${x-Lojt}DzW zZAfMU=lrg~F)K<~1Q5$}TpIIx&g6e4ilG Date: Sat, 3 Sep 2022 09:59:14 +0000 Subject: [PATCH 10/19] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20pretrained=5Fmodel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contrib/cv/MNN-LANENET_ID1251_for_ACL/pretrained_model/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/pretrained_model/.keep diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/pretrained_model/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/pretrained_model/.keep new file mode 100644 index 000000000..e69de29bb -- Gitee From 85902740e972e36e5f1dc37c4a96bccf02969774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 10:04:15 +0000 Subject: [PATCH 11/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20AC?= =?UTF-8?q?L=5FTensorFlow/contrib/cv/MNN-LANENET=5FID1251=5Ffor=5FACL/pret?= =?UTF-8?q?rained=5Fmodel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contrib/cv/MNN-LANENET_ID1251_for_ACL/pretrained_model/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/pretrained_model/.keep diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/pretrained_model/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/pretrained_model/.keep deleted file mode 100644 index e69de29bb..000000000 -- Gitee From 0c4a58a6b627addf2a827e43125069b646a5ca35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 10:04:34 +0000 Subject: [PATCH 12/19] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../semantic_segmentation_zoo/__init__.py | 7 + .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 140 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 0 -> 144 bytes .../__pycache__/bisenet_v2.cpython-36.pyc | Bin 0 -> 23743 bytes .../__pycache__/bisenet_v2.cpython-37.pyc | Bin 0 -> 23682 bytes .../__pycache__/cnn_basenet.cpython-36.pyc | Bin 0 -> 14450 bytes .../__pycache__/cnn_basenet.cpython-37.pyc | Bin 0 -> 14427 bytes .../vgg16_based_fcn.cpython-36.pyc | Bin 0 -> 7138 bytes .../vgg16_based_fcn.cpython-37.pyc | Bin 0 -> 7123 bytes .../semantic_segmentation_zoo/bisenet_v2.py | 1119 +++++++++++++++++ .../semantic_segmentation_zoo/cnn_basenet.py | 549 ++++++++ .../vgg16_based_fcn.py | 394 ++++++ 12 files changed, 2069 insertions(+) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__init__.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/bisenet_v2.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/bisenet_v2.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/cnn_basenet.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/cnn_basenet.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/vgg16_based_fcn.cpython-36.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/vgg16_based_fcn.cpython-37.pyc create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/bisenet_v2.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/cnn_basenet.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/vgg16_based_fcn.py diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__init__.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__init__.py new file mode 100644 index 000000000..fe7a4cdfd --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__init__.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# @Time : 19-4-24 下午6:41 +# @Author : MaybeShewill-CV +# @Site : https://github.com/MaybeShewill-CV/lanenet-lane-detection +# @File : __init__.py +# @IDE: PyCharm \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dcd59e74ca4fe118f7c60c5409e900324f18bd38 GIT binary patch literal 140 zcmXr!<>k5y zUl5a8mY7qTSdto3oSK`MSCW|=U!0nro0?aWSdy8a7hjd19}^#+nU`4-AFo$Xd5gm) RH$SB`C)EyQWHAsk004~CB$WUF literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6a399f9a840d2df729df99879b2a40ddb8fbdf3 GIT binary patch literal 144 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 kNg94Kd4m?!>hNI$N5#q=Suy;k-A1_sLAv;Y7A literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/bisenet_v2.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/bisenet_v2.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4f0a64b6c7da18450c2e183792d5809089e42a2f GIT binary patch literal 23682 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 Q#XU#X6N!ZDq_|M}KU~N1ga7~l literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/cnn_basenet.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/cnn_basenet.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0889a78a8c3143c020082c88783b759b18b369e7 GIT binary patch literal 14427 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 DD7^t1 literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/vgg16_based_fcn.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/vgg16_based_fcn.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4d33fcb24ac82c01736cd305d5a63b0597f7d763 GIT binary patch literal 7138 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 literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/bisenet_v2.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/bisenet_v2.py new file mode 100644 index 000000000..3880a1e18 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/bisenet_v2.py @@ -0,0 +1,1119 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +BiseNet V2 Model +""" +import collections + +import tensorflow as tf + +from semantic_segmentation_zoo import cnn_basenet +from local_utils.config_utils import parse_config_utils + + +class _StemBlock(cnn_basenet.CNNBaseModel): + """ + implementation of stem block module + """ + def __init__(self, phase): + """ + + :param phase: + """ + super(_StemBlock, self).__init__() + self._phase = phase + self._is_training = self._is_net_for_training() + self._padding = 'SAME' + + def _is_net_for_training(self): + """ + if the net is used for training or not + :return: + """ + if isinstance(self._phase, tf.Tensor): + phase = self._phase + else: + phase = tf.constant(self._phase, dtype=tf.string) + return tf.equal(phase, tf.constant('train', dtype=tf.string)) + + def _conv_block(self, input_tensor, k_size, output_channels, stride, + name, padding='SAME', use_bias=False, need_activate=False): + """ + conv block in attention refine + :param input_tensor: + :param k_size: + :param output_channels: + :param stride: + :param name: + :param padding: + :param use_bias: + :return: + """ + with tf.variable_scope(name_or_scope=name): + result = self.conv2d( + inputdata=input_tensor, + out_channel=output_channels, + kernel_size=k_size, + padding=padding, + stride=stride, + use_bias=use_bias, + name='conv' + ) + if need_activate: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + result = self.relu(inputdata=result, name='relu') + else: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + return result + + def __call__(self, *args, **kwargs): + """ + + :param args: + :param kwargs: + :return: + """ + input_tensor = kwargs['input_tensor'] + name_scope = kwargs['name'] + output_channels = kwargs['output_channels'] + if 'padding' in kwargs: + self._padding = kwargs['padding'] + with tf.variable_scope(name_or_scope=name_scope): + input_tensor = self._conv_block( + input_tensor=input_tensor, + k_size=3, + output_channels=output_channels, + stride=2, + name='conv_block_1', + padding=self._padding, + use_bias=False, + need_activate=True + ) + with tf.variable_scope(name_or_scope='downsample_branch_left'): + branch_left_output = self._conv_block( + input_tensor=input_tensor, + k_size=1, + output_channels=int(output_channels / 2), + stride=1, + name='1x1_conv_block', + padding=self._padding, + use_bias=False, + need_activate=True + ) + branch_left_output = self._conv_block( + input_tensor=branch_left_output, + k_size=3, + output_channels=output_channels, + stride=2, + name='3x3_conv_block', + padding=self._padding, + use_bias=False, + need_activate=True + ) + with tf.variable_scope(name_or_scope='downsample_branch_right'): + branch_right_output = self.maxpooling( + inputdata=input_tensor, + kernel_size=3, + stride=2, + padding=self._padding, + name='maxpooling_block' + ) + result = tf.concat([branch_left_output, branch_right_output], axis=-1, name='concate_features') + result = self._conv_block( + input_tensor=result, + k_size=3, + output_channels=output_channels, + stride=1, + name='final_conv_block', + padding=self._padding, + use_bias=False, + need_activate=True + ) + return result + + +class _ContextEmbedding(cnn_basenet.CNNBaseModel): + """ + implementation of context embedding module in bisenetv2 + """ + def __init__(self, phase): + """ + + :param phase: + """ + super(_ContextEmbedding, self).__init__() + self._phase = phase + self._is_training = self._is_net_for_training() + self._padding = 'SAME' + + def _is_net_for_training(self): + """ + if the net is used for training or not + :return: + """ + if isinstance(self._phase, tf.Tensor): + phase = self._phase + else: + phase = tf.constant(self._phase, dtype=tf.string) + return tf.equal(phase, tf.constant('train', dtype=tf.string)) + + def _conv_block(self, input_tensor, k_size, output_channels, stride, + name, padding='SAME', use_bias=False, need_activate=False): + """ + conv block in attention refine + :param input_tensor: + :param k_size: + :param output_channels: + :param stride: + :param name: + :param padding: + :param use_bias: + :return: + """ + with tf.variable_scope(name_or_scope=name): + result = self.conv2d( + inputdata=input_tensor, + out_channel=output_channels, + kernel_size=k_size, + padding=padding, + stride=stride, + use_bias=use_bias, + name='conv' + ) + if need_activate: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + result = self.relu(inputdata=result, name='relu') + else: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + return result + + def __call__(self, *args, **kwargs): + """ + + :param args: + :param kwargs: + :return: + """ + input_tensor = kwargs['input_tensor'] + name_scope = kwargs['name'] + output_channels = input_tensor.get_shape().as_list()[-1] + if 'padding' in kwargs: + self._padding = kwargs['padding'] + with tf.variable_scope(name_or_scope=name_scope): + result = tf.reduce_mean(input_tensor, axis=[1, 2], keepdims=True, name='global_avg_pooling') + result = self.layerbn(result, self._is_training, 'bn') + result = self._conv_block( + input_tensor=result, + k_size=1, + output_channels=output_channels, + stride=1, + name='conv_block_1', + padding=self._padding, + use_bias=False, + need_activate=True + ) + result = tf.add(result, input_tensor, name='fused_features') + result = self.conv2d( + inputdata=result, + out_channel=output_channels, + kernel_size=3, + padding=self._padding, + stride=1, + use_bias=False, + name='final_conv_block' + ) + return result + + +class _GatherExpansion(cnn_basenet.CNNBaseModel): + """ + implementation of gather and expansion module in bisenetv2 + """ + def __init__(self, phase): + """ + + :param phase: + """ + super(_GatherExpansion, self).__init__() + self._phase = phase + self._is_training = self._is_net_for_training() + self._padding = 'SAME' + self._stride = 1 + self._expansion_factor = 6 + + def _is_net_for_training(self): + """ + if the net is used for training or not + :return: + """ + if isinstance(self._phase, tf.Tensor): + phase = self._phase + else: + phase = tf.constant(self._phase, dtype=tf.string) + return tf.equal(phase, tf.constant('train', dtype=tf.string)) + + def _conv_block(self, input_tensor, k_size, output_channels, stride, + name, padding='SAME', use_bias=False, need_activate=False): + """ + conv block in attention refine + :param input_tensor: + :param k_size: + :param output_channels: + :param stride: + :param name: + :param padding: + :param use_bias: + :return: + """ + with tf.variable_scope(name_or_scope=name): + result = self.conv2d( + inputdata=input_tensor, + out_channel=output_channels, + kernel_size=k_size, + padding=padding, + stride=stride, + use_bias=use_bias, + name='conv' + ) + if need_activate: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + result = self.relu(inputdata=result, name='relu') + else: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + return result + + def _apply_ge_when_stride_equal_one(self, input_tensor, e, name): + """ + + :param input_tensor: + :param e: + :param name + :return: + """ + input_tensor_channels = input_tensor.get_shape().as_list()[-1] + with tf.variable_scope(name_or_scope=name): + result = self._conv_block( + input_tensor=input_tensor, + k_size=3, + output_channels=input_tensor_channels, + stride=1, + name='3x3_conv_block', + padding=self._padding, + use_bias=False, + need_activate=True + ) + result = self.depthwise_conv( + input_tensor=result, + kernel_size=3, + depth_multiplier=e, + padding=self._padding, + stride=1, + name='depthwise_conv_block' + ) + result = self.layerbn(result, self._is_training, name='dw_bn') + result = self._conv_block( + input_tensor=result, + k_size=1, + output_channels=input_tensor_channels, + stride=1, + name='1x1_conv_block', + padding=self._padding, + use_bias=False, + need_activate=False + ) + result = tf.add(input_tensor, result, name='fused_features') + result = self.relu(result, name='ge_output') + return result + + def _apply_ge_when_stride_equal_two(self, input_tensor, output_channels, e, name): + """ + + :param input_tensor: + :param output_channels: + :param e: + :param name + :return: + """ + input_tensor_channels = input_tensor.get_shape().as_list()[-1] + with tf.variable_scope(name_or_scope=name): + input_proj = self.depthwise_conv( + input_tensor=input_tensor, + kernel_size=3, + name='input_project_dw_conv_block', + depth_multiplier=1, + padding=self._padding, + stride=self._stride + ) + input_proj = self.layerbn(input_proj, self._is_training, name='input_project_bn') + input_proj = self._conv_block( + input_tensor=input_proj, + k_size=1, + output_channels=output_channels, + stride=1, + name='input_project_1x1_conv_block', + padding=self._padding, + use_bias=False, + need_activate=False + ) + + result = self._conv_block( + input_tensor=input_tensor, + k_size=3, + output_channels=input_tensor_channels, + stride=1, + name='3x3_conv_block', + padding=self._padding, + use_bias=False, + need_activate=True + ) + result = self.depthwise_conv( + input_tensor=result, + kernel_size=3, + depth_multiplier=e, + padding=self._padding, + stride=2, + name='depthwise_conv_block_1' + ) + result = self.layerbn(result, self._is_training, name='dw_bn_1') + result = self.depthwise_conv( + input_tensor=result, + kernel_size=3, + depth_multiplier=1, + padding=self._padding, + stride=1, + name='depthwise_conv_block_2' + ) + result = self.layerbn(result, self._is_training, name='dw_bn_2') + result = self._conv_block( + input_tensor=result, + k_size=1, + output_channels=output_channels, + stride=1, + name='1x1_conv_block', + padding=self._padding, + use_bias=False, + need_activate=False + ) + result = tf.add(input_proj, result, name='fused_features') + result = self.relu(result, name='ge_output') + return result + + def __call__(self, *args, **kwargs): + """ + + :param args: + :param kwargs: + :return: + """ + input_tensor = kwargs['input_tensor'] + name_scope = kwargs['name'] + output_channels = input_tensor.get_shape().as_list()[-1] + if 'output_channels' in kwargs: + output_channels = kwargs['output_channels'] + if 'padding' in kwargs: + self._padding = kwargs['padding'] + if 'stride' in kwargs: + self._stride = kwargs['stride'] + if 'e' in kwargs: + self._expansion_factor = kwargs['e'] + + with tf.variable_scope(name_or_scope=name_scope): + if self._stride == 1: + result = self._apply_ge_when_stride_equal_one( + input_tensor=input_tensor, + e=self._expansion_factor, + name='stride_equal_one_module' + ) + elif self._stride == 2: + result = self._apply_ge_when_stride_equal_two( + input_tensor=input_tensor, + output_channels=output_channels, + e=self._expansion_factor, + name='stride_equal_two_module' + ) + else: + raise NotImplementedError('No function matched with stride of {}'.format(self._stride)) + return result + + +class _GuidedAggregation(cnn_basenet.CNNBaseModel): + """ + implementation of guided aggregation module in bisenetv2 + """ + + def __init__(self, phase): + """ + + :param phase: + """ + super(_GuidedAggregation, self).__init__() + self._phase = phase + self._is_training = self._is_net_for_training() + self._padding = 'SAME' + + def _is_net_for_training(self): + """ + if the net is used for training or not + :return: + """ + if isinstance(self._phase, tf.Tensor): + phase = self._phase + else: + phase = tf.constant(self._phase, dtype=tf.string) + return tf.equal(phase, tf.constant('train', dtype=tf.string)) + + def _conv_block(self, input_tensor, k_size, output_channels, stride, + name, padding='SAME', use_bias=False, need_activate=False): + """ + conv block in attention refine + :param input_tensor: + :param k_size: + :param output_channels: + :param stride: + :param name: + :param padding: + :param use_bias: + :return: + """ + with tf.variable_scope(name_or_scope=name): + result = self.conv2d( + inputdata=input_tensor, + out_channel=output_channels, + kernel_size=k_size, + padding=padding, + stride=stride, + use_bias=use_bias, + name='conv' + ) + if need_activate: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + result = self.relu(inputdata=result, name='relu') + else: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + return result + + def __call__(self, *args, **kwargs): + """ + + :param args: + :param kwargs: + :return: + """ + detail_input_tensor = kwargs['detail_input_tensor'] + semantic_input_tensor = kwargs['semantic_input_tensor'] + name_scope = kwargs['name'] + output_channels = detail_input_tensor.get_shape().as_list()[-1] + if 'padding' in kwargs: + self._padding = kwargs['padding'] + + with tf.variable_scope(name_or_scope=name_scope): + with tf.variable_scope(name_or_scope='detail_branch'): + detail_branch_remain = self.depthwise_conv( + input_tensor=detail_input_tensor, + kernel_size=3, + name='3x3_dw_conv_block', + depth_multiplier=1, + padding=self._padding, + stride=1 + ) + detail_branch_remain = self.layerbn(detail_branch_remain, self._is_training, name='bn_1') + detail_branch_remain = self.conv2d( + inputdata=detail_branch_remain, + out_channel=output_channels, + kernel_size=1, + padding=self._padding, + stride=1, + use_bias=False, + name='1x1_conv_block' + ) + + detail_branch_downsample = self._conv_block( + input_tensor=detail_input_tensor, + k_size=3, + output_channels=output_channels, + stride=2, + name='3x3_conv_block', + padding=self._padding, + use_bias=False, + need_activate=False + ) + detail_branch_downsample = self.avgpooling( + inputdata=detail_branch_downsample, + kernel_size=3, + stride=2, + padding=self._padding, + name='avg_pooling_block' + ) + + with tf.variable_scope(name_or_scope='semantic_branch'): + semantic_branch_remain = self.depthwise_conv( + input_tensor=semantic_input_tensor, + kernel_size=3, + name='3x3_dw_conv_block', + depth_multiplier=1, + padding=self._padding, + stride=1 + ) + semantic_branch_remain = self.layerbn(semantic_branch_remain, self._is_training, name='bn_1') + semantic_branch_remain = self.conv2d( + inputdata=semantic_branch_remain, + out_channel=output_channels, + kernel_size=1, + padding=self._padding, + stride=1, + use_bias=False, + name='1x1_conv_block' + ) + semantic_branch_remain = self.sigmoid(semantic_branch_remain, name='semantic_remain_sigmoid') + + semantic_branch_upsample = self._conv_block( + input_tensor=semantic_input_tensor, + k_size=3, + output_channels=output_channels, + stride=1, + name='3x3_conv_block', + padding=self._padding, + use_bias=False, + need_activate=False + ) + semantic_branch_upsample = tf.image.resize_bilinear( + semantic_branch_upsample, + detail_input_tensor.shape[1:3], + name='semantic_upsample_features' + ) + semantic_branch_upsample = self.sigmoid(semantic_branch_upsample, name='semantic_upsample_sigmoid') + + with tf.variable_scope(name_or_scope='aggregation_features'): + guided_features_remain = tf.multiply( + detail_branch_remain, + semantic_branch_upsample, + name='guided_detail_features' + ) + guided_features_downsample = tf.multiply( + detail_branch_downsample, + semantic_branch_remain, + name='guided_semantic_features' + ) + guided_features_upsample = tf.image.resize_bilinear( + guided_features_downsample, + detail_input_tensor.shape[1:3], + name='guided_upsample_features' + ) + guided_features = tf.add(guided_features_remain, guided_features_upsample, name='fused_features') + guided_features = self._conv_block( + input_tensor=guided_features, + k_size=3, + output_channels=output_channels, + stride=1, + name='aggregation_feature_output', + padding=self._padding, + use_bias=False, + need_activate=True + ) + return guided_features + + +class _SegmentationHead(cnn_basenet.CNNBaseModel): + """ + implementation of segmentation head in bisenet v2 + """ + def __init__(self, phase): + """ + + """ + super(_SegmentationHead, self).__init__() + self._phase = phase + self._is_training = self._is_net_for_training() + self._padding = 'SAME' + + def _is_net_for_training(self): + """ + if the net is used for training or not + :return: + """ + if isinstance(self._phase, tf.Tensor): + phase = self._phase + else: + phase = tf.constant(self._phase, dtype=tf.string) + return tf.equal(phase, tf.constant('train', dtype=tf.string)) + + def _conv_block(self, input_tensor, k_size, output_channels, stride, + name, padding='SAME', use_bias=False, need_activate=False): + """ + conv block in attention refine + :param input_tensor: + :param k_size: + :param output_channels: + :param stride: + :param name: + :param padding: + :param use_bias: + :return: + """ + with tf.variable_scope(name_or_scope=name): + result = self.conv2d( + inputdata=input_tensor, + out_channel=output_channels, + kernel_size=k_size, + padding=padding, + stride=stride, + use_bias=use_bias, + name='conv' + ) + if need_activate: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + result = self.relu(inputdata=result, name='relu') + else: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + return result + + def __call__(self, *args, **kwargs): + """ + + :param args: + :param kwargs: + :return: + """ + input_tensor = kwargs['input_tensor'] + name_scope = kwargs['name'] + ratio = kwargs['upsample_ratio'] + input_tensor_size = input_tensor.get_shape().as_list()[1:3] + output_tensor_size = [int(tmp * ratio) for tmp in input_tensor_size] + feature_dims = kwargs['feature_dims'] + classes_nums = kwargs['classes_nums'] + if 'padding' in kwargs: + self._padding = kwargs['padding'] + + with tf.variable_scope(name_or_scope=name_scope): + result = self._conv_block( + input_tensor=input_tensor, + k_size=3, + output_channels=feature_dims, + stride=1, + name='3x3_conv_block', + padding=self._padding, + use_bias=False, + need_activate=True + ) + result = self.conv2d( + inputdata=result, + out_channel=classes_nums, + kernel_size=1, + padding=self._padding, + stride=1, + use_bias=False, + name='1x1_conv_block' + ) + result = tf.image.resize_bilinear( + result, + output_tensor_size, + name='segmentation_head_logits' + ) + return result + + +class BiseNetV2(cnn_basenet.CNNBaseModel): + """ + implementation of bisenet v2 + """ + def __init__(self, phase, cfg): + """ + + """ + super(BiseNetV2, self).__init__() + self._cfg = cfg + self._phase = phase + self._is_training = self._is_net_for_training() + + # set model hyper params + self._class_nums = self._cfg.DATASET.NUM_CLASSES + self._weights_decay = self._cfg.SOLVER.WEIGHT_DECAY + self._loss_type = self._cfg.SOLVER.LOSS_TYPE + self._enable_ohem = self._cfg.SOLVER.OHEM.ENABLE + if self._enable_ohem: + self._ohem_score_thresh = self._cfg.SOLVER.OHEM.SCORE_THRESH + self._ohem_min_sample_nums = self._cfg.SOLVER.OHEM.MIN_SAMPLE_NUMS + self._ge_expand_ratio = self._cfg.MODEL.BISENETV2.GE_EXPAND_RATIO + self._semantic_channel_ratio = self._cfg.MODEL.BISENETV2.SEMANTIC_CHANNEL_LAMBDA + self._seg_head_ratio = self._cfg.MODEL.BISENETV2.SEGHEAD_CHANNEL_EXPAND_RATIO + + # set module used in bisenetv2 + self._se_block = _StemBlock(phase=phase) + self._context_embedding_block = _ContextEmbedding(phase=phase) + self._ge_block = _GatherExpansion(phase=phase) + self._guided_aggregation_block = _GuidedAggregation(phase=phase) + self._seg_head_block = _SegmentationHead(phase=phase) + + # set detail branch channels + self._detail_branch_channels = self._build_detail_branch_hyper_params() + # set semantic branch channels + self._semantic_branch_channels = self._build_semantic_branch_hyper_params() + + # set op block params + self._block_maps = { + 'conv_block': self._conv_block, + 'se': self._se_block, + 'ge': self._ge_block, + 'ce': self._context_embedding_block, + } + + self._net_intermediate_results = collections.OrderedDict() + + def _is_net_for_training(self): + """ + if the net is used for training or not + :return: + """ + if isinstance(self._phase, tf.Tensor): + phase = self._phase + else: + phase = tf.constant(self._phase, dtype=tf.string) + return tf.equal(phase, tf.constant('train', dtype=tf.string)) + + @classmethod + def _build_detail_branch_hyper_params(cls): + """ + + :return: + """ + params = [ + ('stage_1', [('conv_block', 3, 64, 2, 1), ('conv_block', 3, 64, 1, 1)]), + ('stage_2', [('conv_block', 3, 64, 2, 1), ('conv_block', 3, 64, 1, 2)]), + ('stage_3', [('conv_block', 3, 128, 2, 1), ('conv_block', 3, 128, 1, 2)]), + ] + return collections.OrderedDict(params) + + def _build_semantic_branch_hyper_params(self): + """ + + :return: + """ + stage_1_channels = int(self._detail_branch_channels['stage_1'][0][2] * self._semantic_channel_ratio) + stage_3_channels = int(self._detail_branch_channels['stage_3'][0][2] * self._semantic_channel_ratio) + params = [ + ('stage_1', [('se', 3, stage_1_channels, 1, 4, 1)]), + ('stage_3', [('ge', 3, stage_3_channels, self._ge_expand_ratio, 2, 1), + ('ge', 3, stage_3_channels, self._ge_expand_ratio, 1, 1)]), + ('stage_4', [('ge', 3, stage_3_channels * 2, self._ge_expand_ratio, 2, 1), + ('ge', 3, stage_3_channels * 2, self._ge_expand_ratio, 1, 1)]), + ('stage_5', [('ge', 3, stage_3_channels * 4, self._ge_expand_ratio, 2, 1), + ('ge', 3, stage_3_channels * 4, self._ge_expand_ratio, 1, 3), + ('ce', 3, stage_3_channels * 4, self._ge_expand_ratio, 1, 1)]) + ] + return collections.OrderedDict(params) + + def _conv_block(self, input_tensor, k_size, output_channels, stride, + name, padding='SAME', use_bias=False, need_activate=False): + """ + conv block in attention refine + :param input_tensor: + :param k_size: + :param output_channels: + :param stride: + :param name: + :param padding: + :param use_bias: + :return: + """ + with tf.variable_scope(name_or_scope=name): + result = self.conv2d( + inputdata=input_tensor, + out_channel=output_channels, + kernel_size=k_size, + padding=padding, + stride=stride, + use_bias=use_bias, + name='conv' + ) + if need_activate: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + result = self.relu(inputdata=result, name='relu') + else: + result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) + return result + + def build_detail_branch(self, input_tensor, name): + """ + + :param input_tensor: + :param name: + :return: + """ + result = input_tensor + with tf.variable_scope(name_or_scope=name): + for stage_name, stage_params in self._detail_branch_channels.items(): + with tf.variable_scope(stage_name): + for block_index, param in enumerate(stage_params): + block_op = self._block_maps[param[0]] + k_size = param[1] + output_channels = param[2] + stride = param[3] + repeat_times = param[4] + for repeat_index in range(repeat_times): + with tf.variable_scope(name_or_scope='conv_block_{:d}_repeat_{:d}'.format( + block_index + 1, repeat_index + 1)): + if stage_name == 'stage_3' and block_index == 1 and repeat_index == 1: + result = block_op( + input_tensor=result, + k_size=k_size, + output_channels=output_channels, + stride=stride, + name='3x3_conv', + padding='SAME', + use_bias=False, + need_activate=False + ) + else: + result = block_op( + input_tensor=result, + k_size=k_size, + output_channels=output_channels, + stride=stride, + name='3x3_conv', + padding='SAME', + use_bias=False, + need_activate=True + ) + return result + + def build_semantic_branch(self, input_tensor, name, prepare_data_for_booster=False): + """ + + :param input_tensor: + :param name: + :param prepare_data_for_booster: + :return: + """ + seg_head_inputs = collections.OrderedDict() + result = input_tensor + source_input_tensor_size = input_tensor.get_shape().as_list()[1:3] + with tf.variable_scope(name_or_scope=name): + for stage_name, stage_params in self._semantic_branch_channels.items(): + seg_head_input = input_tensor + with tf.variable_scope(stage_name): + for block_index, param in enumerate(stage_params): + block_op_name = param[0] + block_op = self._block_maps[block_op_name] + output_channels = param[2] + expand_ratio = param[3] + stride = param[4] + repeat_times = param[5] + for repeat_index in range(repeat_times): + with tf.variable_scope(name_or_scope='{:s}_block_{:d}_repeat_{:d}'.format( + block_op_name, block_index + 1, repeat_index + 1)): + if block_op_name == 'ge': + result = block_op( + input_tensor=result, + name='gather_expansion_block', + stride=stride, + e=expand_ratio, + output_channels=output_channels + ) + seg_head_input = result + elif block_op_name == 'ce': + result = block_op( + input_tensor=result, + name='context_embedding_block' + ) + elif block_op_name == 'se': + result = block_op( + input_tensor=result, + output_channels=output_channels, + name='stem_block' + ) + seg_head_input = result + else: + raise NotImplementedError('Not support block type: {:s}'.format(block_op_name)) + if prepare_data_for_booster: + result_tensor_size = result.get_shape().as_list()[1:3] + result_tensor_dims = result.get_shape().as_list()[-1] + upsample_ratio = int(source_input_tensor_size[0] / result_tensor_size[0]) + feature_dims = result_tensor_dims * self._seg_head_ratio + seg_head_inputs[stage_name] = self._seg_head_block( + input_tensor=seg_head_input, + name='block_{:d}_seg_head_block'.format(block_index + 1), + upsample_ratio=upsample_ratio, + feature_dims=feature_dims, + classes_nums=self._class_nums + ) + return result, seg_head_inputs + + def build_aggregation_branch(self, detail_output, semantic_output, name): + """ + + :param detail_output: + :param semantic_output: + :param name: + :return: + """ + with tf.variable_scope(name_or_scope=name): + result = self._guided_aggregation_block( + detail_input_tensor=detail_output, + semantic_input_tensor=semantic_output, + name='guided_aggregation_block' + ) + return result + + def build_instance_segmentation_branch(self, input_tensor, name): + """ + + :param input_tensor: + :param name: + :return: + """ + input_tensor_size = input_tensor.get_shape().as_list()[1:3] + output_tensor_size = [int(tmp * 8) for tmp in input_tensor_size] + + with tf.variable_scope(name_or_scope=name): + output_tensor = self._conv_block( + input_tensor=input_tensor, + k_size=3, + output_channels=64, + stride=1, + name='conv_3x3', + use_bias=False, + need_activate=True + ) + output_tensor = self._conv_block( + input_tensor=output_tensor, + k_size=1, + output_channels=128, + stride=1, + name='conv_1x1', + use_bias=False, + need_activate=False + ) + output_tensor = tf.image.resize_bilinear( + output_tensor, + output_tensor_size, + name='instance_logits' + ) + return output_tensor + + def build_binary_segmentation_branch(self, input_tensor, name): + """ + + :param input_tensor: + :param name: + :return: + """ + input_tensor_size = input_tensor.get_shape().as_list()[1:3] + output_tensor_size = [int(tmp * 8) for tmp in input_tensor_size] + + with tf.variable_scope(name_or_scope=name): + output_tensor = self._conv_block( + input_tensor=input_tensor, + k_size=3, + output_channels=64, + stride=1, + name='conv_3x3', + use_bias=False, + need_activate=True + ) + output_tensor = self._conv_block( + input_tensor=output_tensor, + k_size=1, + output_channels=128, + stride=1, + name='conv_1x1', + use_bias=False, + need_activate=True + ) + output_tensor = self._conv_block( + input_tensor=output_tensor, + k_size=1, + output_channels=self._class_nums, + stride=1, + name='final_conv', + use_bias=False, + need_activate=False + ) + output_tensor = tf.image.resize_bilinear( + output_tensor, + output_tensor_size, + name='binary_logits' + ) + return output_tensor + + def build_model(self, input_tensor, name, reuse=False): + """ + + :param input_tensor: + :param name: + :param reuse: + :return: + """ + with tf.variable_scope(name_or_scope=name, reuse=reuse): + # build detail branch + detail_branch_output = self.build_detail_branch( + input_tensor=input_tensor, + name='detail_branch' + ) + # build semantic branch + semantic_branch_output, _ = self.build_semantic_branch( + input_tensor=input_tensor, + name='semantic_branch', + prepare_data_for_booster=False + ) + # build aggregation branch + aggregation_branch_output = self.build_aggregation_branch( + detail_output=detail_branch_output, + semantic_output=semantic_branch_output, + name='aggregation_branch' + ) + # build binary and instance segmentation branch + binary_seg_branch_output = self.build_binary_segmentation_branch( + input_tensor=aggregation_branch_output, + name='binary_segmentation_branch' + ) + instance_seg_branch_output = self.build_instance_segmentation_branch( + input_tensor=aggregation_branch_output, + name='instance_segmentation_branch' + ) + # gather frontend output result + self._net_intermediate_results['binary_segment_logits'] = { + 'data': binary_seg_branch_output, + 'shape': binary_seg_branch_output.get_shape().as_list() + } + self._net_intermediate_results['instance_segment_logits'] = { + 'data': instance_seg_branch_output, + 'shape': instance_seg_branch_output.get_shape().as_list() + } + return self._net_intermediate_results + + +if __name__ == '__main__': + """ + test code + """ + test_in_tensor = tf.placeholder(dtype=tf.float32, shape=[1, 256, 512, 3], name='input') + model = BiseNetV2(phase='train', cfg=parse_config_utils.lanenet_cfg) + ret = model.build_model(test_in_tensor, name='bisenetv2') + for layer_name, layer_info in ret.items(): + print('layer name: {:s} shape: {}'.format(layer_name, layer_info['shape'])) + diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/cnn_basenet.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/cnn_basenet.py new file mode 100644 index 000000000..fefb814d2 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/cnn_basenet.py @@ -0,0 +1,549 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +The base convolution neural networks mainly implement some useful cnn functions +""" +import tensorflow as tf +import numpy as np + + +class CNNBaseModel(object): + """ + Base model for other specific cnn ctpn_models + """ + + def __init__(self): + pass + + @staticmethod + def conv2d(inputdata, out_channel, kernel_size, padding='SAME', + stride=1, w_init=None, b_init=None, + split=1, use_bias=True, data_format='NHWC', name=None): + """ + Packing the tensorflow conv2d function. + :param name: op name + :param inputdata: A 4D tensorflow tensor which ust have known number of channels, but can have other + unknown dimensions. + :param out_channel: number of output channel. + :param kernel_size: int so only support square kernel convolution + :param padding: 'VALID' or 'SAME' + :param stride: int so only support square stride + :param w_init: initializer for convolution weights + :param b_init: initializer for bias + :param split: split channels as used in Alexnet mainly group for GPU memory save. + :param use_bias: whether to use bias. + :param data_format: default set to NHWC according tensorflow + :return: tf.Tensor named ``output`` + """ + with tf.variable_scope(name): + in_shape = inputdata.get_shape().as_list() + channel_axis = 3 if data_format == 'NHWC' else 1 + in_channel = in_shape[channel_axis] + assert in_channel is not None, "[Conv2D] Input cannot have unknown channel!" + assert in_channel % split == 0 + assert out_channel % split == 0 + + padding = padding.upper() + + if isinstance(kernel_size, list): + filter_shape = [kernel_size[0], kernel_size[1]] + [in_channel / split, out_channel] + else: + filter_shape = [kernel_size, kernel_size] + [in_channel / split, out_channel] + + if isinstance(stride, list): + strides = [1, stride[0], stride[1], 1] if data_format == 'NHWC' \ + else [1, 1, stride[0], stride[1]] + else: + strides = [1, stride, stride, 1] if data_format == 'NHWC' \ + else [1, 1, stride, stride] + + if w_init is None: + w_init = tf.contrib.layers.variance_scaling_initializer() + if b_init is None: + b_init = tf.constant_initializer() + + w = tf.get_variable('W', filter_shape, initializer=w_init) + b = None + + if use_bias: + b = tf.get_variable('b', [out_channel], initializer=b_init) + + if split == 1: + conv = tf.nn.conv2d(inputdata, w, strides, padding, data_format=data_format) + else: + inputs = tf.split(inputdata, split, channel_axis) + kernels = tf.split(w, split, 3) + outputs = [tf.nn.conv2d(i, k, strides, padding, data_format=data_format) + for i, k in zip(inputs, kernels)] + conv = tf.concat(outputs, channel_axis) + + ret = tf.identity(tf.nn.bias_add(conv, b, data_format=data_format) + if use_bias else conv, name=name) + + return ret + + @staticmethod + def depthwise_conv(input_tensor, kernel_size, name, depth_multiplier=1, + padding='SAME', stride=1): + """ + + :param input_tensor: + :param kernel_size: + :param name: + :param depth_multiplier: + :param padding: + :param stride: + :return: + """ + with tf.variable_scope(name_or_scope=name): + in_shape = input_tensor.get_shape().as_list() + in_channel = in_shape[3] + padding = padding.upper() + + depthwise_filter_shape = [kernel_size, kernel_size] + [in_channel, depth_multiplier] + w_init = tf.contrib.layers.variance_scaling_initializer() + + depthwise_filter = tf.get_variable( + name='depthwise_filter_w', shape=depthwise_filter_shape, + initializer=w_init + ) + + result = tf.nn.depthwise_conv2d( + input=input_tensor, + filter=depthwise_filter, + strides=[1, stride, stride, 1], + padding=padding, + name='depthwise_conv_output' + ) + return result + + @staticmethod + def relu(inputdata, name=None): + """ + + :param name: + :param inputdata: + :return: + """ + return tf.nn.relu(features=inputdata, name=name) + + @staticmethod + def sigmoid(inputdata, name=None): + """ + + :param name: + :param inputdata: + :return: + """ + return tf.nn.sigmoid(x=inputdata, name=name) + + @staticmethod + def maxpooling(inputdata, kernel_size, stride=None, padding='VALID', + data_format='NHWC', name=None): + """ + + :param name: + :param inputdata: + :param kernel_size: + :param stride: + :param padding: + :param data_format: + :return: + """ + padding = padding.upper() + + if stride is None: + stride = kernel_size + + if isinstance(kernel_size, list): + kernel = [1, kernel_size[0], kernel_size[1], 1] if data_format == 'NHWC' else \ + [1, 1, kernel_size[0], kernel_size[1]] + else: + kernel = [1, kernel_size, kernel_size, 1] if data_format == 'NHWC' \ + else [1, 1, kernel_size, kernel_size] + + if isinstance(stride, list): + strides = [1, stride[0], stride[1], 1] if data_format == 'NHWC' \ + else [1, 1, stride[0], stride[1]] + else: + strides = [1, stride, stride, 1] if data_format == 'NHWC' \ + else [1, 1, stride, stride] + + return tf.nn.max_pool(value=inputdata, ksize=kernel, strides=strides, padding=padding, + data_format=data_format, name=name) + + @staticmethod + def avgpooling(inputdata, kernel_size, stride=None, padding='VALID', + data_format='NHWC', name=None): + """ + + :param name: + :param inputdata: + :param kernel_size: + :param stride: + :param padding: + :param data_format: + :return: + """ + if stride is None: + stride = kernel_size + + kernel = [1, kernel_size, kernel_size, 1] if data_format == 'NHWC' \ + else [1, 1, kernel_size, kernel_size] + + strides = [1, stride, stride, 1] if data_format == 'NHWC' else [1, 1, stride, stride] + + return tf.nn.avg_pool(value=inputdata, ksize=kernel, strides=strides, padding=padding, + data_format=data_format, name=name) + + @staticmethod + def globalavgpooling(inputdata, data_format='NHWC', name=None): + """ + + :param name: + :param inputdata: + :param data_format: + :return: + """ + assert inputdata.shape.ndims == 4 + assert data_format in ['NHWC', 'NCHW'] + + axis = [1, 2] if data_format == 'NHWC' else [2, 3] + + return tf.reduce_mean(input_tensor=inputdata, axis=axis, name=name) + + @staticmethod + def layernorm(inputdata, epsilon=1e-5, use_bias=True, use_scale=True, + data_format='NHWC', name=None): + """ + :param name: + :param inputdata: + :param epsilon: epsilon to avoid divide-by-zero. + :param use_bias: whether to use the extra affine transformation or not. + :param use_scale: whether to use the extra affine transformation or not. + :param data_format: + :return: + """ + shape = inputdata.get_shape().as_list() + ndims = len(shape) + assert ndims in [2, 4] + + mean, var = tf.nn.moments(inputdata, list(range(1, len(shape))), keep_dims=True) + + if data_format == 'NCHW': + channnel = shape[1] + new_shape = [1, channnel, 1, 1] + else: + channnel = shape[-1] + new_shape = [1, 1, 1, channnel] + if ndims == 2: + new_shape = [1, channnel] + + if use_bias: + beta = tf.get_variable('beta', [channnel], initializer=tf.constant_initializer()) + beta = tf.reshape(beta, new_shape) + else: + beta = tf.zeros([1] * ndims, name='beta') + if use_scale: + gamma = tf.get_variable('gamma', [channnel], initializer=tf.constant_initializer(1.0)) + gamma = tf.reshape(gamma, new_shape) + else: + gamma = tf.ones([1] * ndims, name='gamma') + + return tf.nn.batch_normalization(inputdata, mean, var, beta, gamma, epsilon, name=name) + + @staticmethod + def instancenorm(inputdata, epsilon=1e-5, data_format='NHWC', use_affine=True, name=None): + """ + + :param name: + :param inputdata: + :param epsilon: + :param data_format: + :param use_affine: + :return: + """ + shape = inputdata.get_shape().as_list() + if len(shape) != 4: + raise ValueError("Input data of instancebn layer has to be 4D tensor") + + if data_format == 'NHWC': + axis = [1, 2] + ch = shape[3] + new_shape = [1, 1, 1, ch] + else: + axis = [2, 3] + ch = shape[1] + new_shape = [1, ch, 1, 1] + if ch is None: + raise ValueError("Input of instancebn require known channel!") + + mean, var = tf.nn.moments(inputdata, axis, keep_dims=True) + + if not use_affine: + return tf.divide(inputdata - mean, tf.sqrt(var + epsilon), name='output') + + beta = tf.get_variable('beta', [ch], initializer=tf.constant_initializer()) + beta = tf.reshape(beta, new_shape) + gamma = tf.get_variable('gamma', [ch], initializer=tf.constant_initializer(1.0)) + gamma = tf.reshape(gamma, new_shape) + return tf.nn.batch_normalization(inputdata, mean, var, beta, gamma, epsilon, name=name) + + @staticmethod + def dropout(inputdata, keep_prob, noise_shape=None, name=None): + """ + + :param name: + :param inputdata: + :param keep_prob: + :param noise_shape: + :return: + """ + return tf.nn.dropout(inputdata, keep_prob=keep_prob, noise_shape=noise_shape, name=name) + + @staticmethod + def fullyconnect(inputdata, out_dim, w_init=None, b_init=None, + use_bias=True, name=None): + """ + Fully-Connected layer, takes a N>1D tensor and returns a 2D tensor. + It is an equivalent of `tf.layers.dense` except for naming conventions. + + :param inputdata: a tensor to be flattened except for the first dimension. + :param out_dim: output dimension + :param w_init: initializer for w. Defaults to `variance_scaling_initializer`. + :param b_init: initializer for b. Defaults to zero + :param use_bias: whether to use bias. + :param name: + :return: tf.Tensor: a NC tensor named ``output`` with attribute `variables`. + """ + shape = inputdata.get_shape().as_list()[1:] + if None not in shape: + inputdata = tf.reshape(inputdata, [-1, int(np.prod(shape))]) + else: + inputdata = tf.reshape(inputdata, tf.stack([tf.shape(inputdata)[0], -1])) + + if w_init is None: + w_init = tf.contrib.layers.variance_scaling_initializer() + if b_init is None: + b_init = tf.constant_initializer() + + ret = tf.layers.dense(inputs=inputdata, activation=lambda x: tf.identity(x, name='output'), + use_bias=use_bias, name=name, + kernel_initializer=w_init, bias_initializer=b_init, + trainable=True, units=out_dim) + return ret + + @staticmethod + def layerbn(inputdata, is_training, name, scale=True): + """ + + :param inputdata: + :param is_training: + :param name: + :param scale: + :return: + """ + + # a = tf.layers.batch_normalization(inputs=inputdata, training=False, name=name, scale=scale, fused=False) + + return tf.layers.batch_normalization(inputs=inputdata, training=False, name=name, scale=scale) + # return inputdata + + + @staticmethod + def layergn(inputdata, name, group_size=32, esp=1e-5): + """ + + :param inputdata: + :param name: + :param group_size: + :param esp: + :return: + """ + with tf.variable_scope(name): + inputdata = tf.transpose(inputdata, [0, 3, 1, 2]) + n, c, h, w = inputdata.get_shape().as_list() + group_size = min(group_size, c) + inputdata = tf.reshape(inputdata, [-1, group_size, c // group_size, h, w]) + mean, var = tf.nn.moments(inputdata, [2, 3, 4], keep_dims=True) + inputdata = (inputdata - mean) / tf.sqrt(var + esp) + + # 每个通道的gamma和beta + gamma = tf.Variable(tf.constant(1.0, shape=[c]), dtype=tf.float32, name='gamma') + beta = tf.Variable(tf.constant(0.0, shape=[c]), dtype=tf.float32, name='beta') + gamma = tf.reshape(gamma, [1, c, 1, 1]) + beta = tf.reshape(beta, [1, c, 1, 1]) + + # 根据论文进行转换 [n, c, h, w, c] 到 [n, h, w, c] + output = tf.reshape(inputdata, [-1, c, h, w]) + output = output * gamma + beta + output = tf.transpose(output, [0, 2, 3, 1]) + + return output + + @staticmethod + def squeeze(inputdata, axis=None, name=None): + """ + + :param inputdata: + :param axis: + :param name: + :return: + """ + return tf.squeeze(input=inputdata, axis=axis, name=name) + + @staticmethod + def deconv2d(inputdata, out_channel, kernel_size, padding='SAME', + stride=1, w_init=None, b_init=None, + use_bias=True, activation=None, data_format='channels_last', + trainable=True, name=None): + """ + Packing the tensorflow conv2d function. + :param name: op name + :param inputdata: A 4D tensorflow tensor which ust have known number of channels, but can have other + unknown dimensions. + :param out_channel: number of output channel. + :param kernel_size: int so only support square kernel convolution + :param padding: 'VALID' or 'SAME' + :param stride: int so only support square stride + :param w_init: initializer for convolution weights + :param b_init: initializer for bias + :param activation: whether to apply a activation func to deconv result + :param use_bias: whether to use bias. + :param data_format: default set to NHWC according tensorflow + :return: tf.Tensor named ``output`` + """ + with tf.variable_scope(name): + in_shape = inputdata.get_shape().as_list() + channel_axis = 3 if data_format == 'channels_last' else 1 + in_channel = in_shape[channel_axis] + assert in_channel is not None, "[Deconv2D] Input cannot have unknown channel!" + + padding = padding.upper() + + if w_init is None: + w_init = tf.contrib.layers.variance_scaling_initializer() + if b_init is None: + b_init = tf.constant_initializer() + + ret = tf.layers.conv2d_transpose(inputs=inputdata, filters=out_channel, + kernel_size=kernel_size, + strides=stride, padding=padding, + data_format=data_format, + activation=activation, use_bias=use_bias, + kernel_initializer=w_init, + bias_initializer=b_init, trainable=trainable, + name=name) + return ret + + @staticmethod + def dilation_conv(input_tensor, k_size, out_dims, rate, padding='SAME', + w_init=None, b_init=None, use_bias=False, name=None): + """ + + :param input_tensor: + :param k_size: + :param out_dims: + :param rate: + :param padding: + :param w_init: + :param b_init: + :param use_bias: + :param name: + :return: + """ + with tf.variable_scope(name): + in_shape = input_tensor.get_shape().as_list() + in_channel = in_shape[3] + assert in_channel is not None, "[Conv2D] Input cannot have unknown channel!" + + padding = padding.upper() + + if isinstance(k_size, list): + filter_shape = [k_size[0], k_size[1]] + [in_channel, out_dims] + else: + filter_shape = [k_size, k_size] + [in_channel, out_dims] + + if w_init is None: + w_init = tf.contrib.layers.variance_scaling_initializer() + if b_init is None: + b_init = tf.constant_initializer() + + w = tf.get_variable('W', filter_shape, initializer=w_init) + b = None + + if use_bias: + b = tf.get_variable('b', [out_dims], initializer=b_init) + + conv = tf.nn.atrous_conv2d(value=input_tensor, filters=w, rate=rate, + padding=padding, name='dilation_conv') + + if use_bias: + ret = tf.add(conv, b) + else: + ret = conv + + return ret + + @staticmethod + def spatial_dropout(input_tensor, keep_prob, is_training, name, seed=1234): + """ + 空间dropout实现 + :param input_tensor: + :param keep_prob: + :param is_training: + :param name: + :param seed: + :return: + """ + + def f1(): + input_shape = input_tensor.get_shape().as_list() + noise_shape = tf.constant(value=[input_shape[0], 1, 1, input_shape[3]]) + return tf.nn.dropout(input_tensor, keep_prob, noise_shape, seed=seed, name="spatial_dropout") + + def f2(): + return input_tensor + + with tf.variable_scope(name_or_scope=name): + + output = tf.cond(is_training, f1, f2) + + return output + + @staticmethod + def lrelu(inputdata, name, alpha=0.2): + """ + + :param inputdata: + :param alpha: + :param name: + :return: + """ + with tf.variable_scope(name): + return tf.nn.relu(inputdata) - alpha * tf.nn.relu(-inputdata) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/vgg16_based_fcn.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/vgg16_based_fcn.py new file mode 100644 index 000000000..01ffb1f23 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/vgg16_based_fcn.py @@ -0,0 +1,394 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Implement VGG16 based fcn net for semantic segmentation +""" +import collections + +import tensorflow as tf + +from semantic_segmentation_zoo import cnn_basenet +from local_utils.config_utils import parse_config_utils + + +class VGG16FCN(cnn_basenet.CNNBaseModel): + """ + VGG 16 based fcn net for semantic segmentation + """ + def __init__(self, phase, cfg): + """ + + """ + super(VGG16FCN, self).__init__() + self._cfg = cfg + self._phase = phase + self._is_training = self._is_net_for_training() + self._net_intermediate_results = collections.OrderedDict() + self._class_nums = self._cfg.DATASET.NUM_CLASSES + + def _is_net_for_training(self): + """ + if the net is used for training or not + :return: + """ + if isinstance(self._phase, tf.Tensor): + phase = self._phase + else: + phase = tf.constant(self._phase, dtype=tf.string) + + return tf.equal(phase, tf.constant('train', dtype=tf.string)) + + def _vgg16_conv_stage(self, input_tensor, k_size, out_dims, name, + stride=1, pad='SAME', need_layer_norm=True): + """ + stack conv and activation in vgg16 + :param input_tensor: + :param k_size: + :param out_dims: + :param name: + :param stride: + :param pad: + :param need_layer_norm: + :return: + """ + with tf.variable_scope(name): + conv = self.conv2d( + inputdata=input_tensor, out_channel=out_dims, + kernel_size=k_size, stride=stride, + use_bias=False, padding=pad, name='conv' + ) + + if need_layer_norm: + bn = self.layerbn(inputdata=conv, is_training=self._is_training, name='bn') + + relu = self.relu(inputdata=bn, name='relu') + else: + relu = self.relu(inputdata=conv, name='relu') + + return relu + + def _decode_block(self, input_tensor, previous_feats_tensor, + out_channels_nums, name, kernel_size=4, + stride=2, use_bias=False, + previous_kernel_size=4, need_activate=True): + """ + + :param input_tensor: + :param previous_feats_tensor: + :param out_channels_nums: + :param kernel_size: + :param previous_kernel_size: + :param use_bias: + :param stride: + :param name: + :return: + """ + with tf.variable_scope(name_or_scope=name): + + deconv_weights_stddev = tf.sqrt( + tf.divide(tf.constant(2.0, tf.float32), + tf.multiply(tf.cast(previous_kernel_size * previous_kernel_size, tf.float32), + tf.cast(tf.shape(input_tensor)[3], tf.float32))) + ) + deconv_weights_init = tf.truncated_normal_initializer( + mean=0.0, stddev=deconv_weights_stddev) + + deconv = self.deconv2d( + inputdata=input_tensor, out_channel=out_channels_nums, kernel_size=kernel_size, + stride=stride, use_bias=use_bias, w_init=deconv_weights_init, + name='deconv' + ) + + deconv = self.layerbn(inputdata=deconv, is_training=self._is_training, name='deconv_bn') + + deconv = self.relu(inputdata=deconv, name='deconv_relu') + + fuse_feats = tf.add( + previous_feats_tensor, deconv, name='fuse_feats' + ) + + if need_activate: + + fuse_feats = self.layerbn( + inputdata=fuse_feats, is_training=self._is_training, name='fuse_gn' + ) + + fuse_feats = self.relu(inputdata=fuse_feats, name='fuse_relu') + + return fuse_feats + + def _vgg16_fcn_encode(self, input_tensor, name): + """ + + :param input_tensor: + :param name: + :return: + """ + with tf.variable_scope(name_or_scope=name): + # encode stage 1 + conv_1_1 = self._vgg16_conv_stage( + input_tensor=input_tensor, k_size=3, + out_dims=64, name='conv1_1', + need_layer_norm=True + ) + conv_1_2 = self._vgg16_conv_stage( + input_tensor=conv_1_1, k_size=3, + out_dims=64, name='conv1_2', + need_layer_norm=True + ) + self._net_intermediate_results['encode_stage_1_share'] = { + 'data': conv_1_2, + 'shape': conv_1_2.get_shape().as_list() + } + + # encode stage 2 + pool1 = self.maxpooling( + inputdata=conv_1_2, kernel_size=2, + stride=2, name='pool1' + ) + conv_2_1 = self._vgg16_conv_stage( + input_tensor=pool1, k_size=3, + out_dims=128, name='conv2_1', + need_layer_norm=True + ) + conv_2_2 = self._vgg16_conv_stage( + input_tensor=conv_2_1, k_size=3, + out_dims=128, name='conv2_2', + need_layer_norm=True + ) + self._net_intermediate_results['encode_stage_2_share'] = { + 'data': conv_2_2, + 'shape': conv_2_2.get_shape().as_list() + } + + # encode stage 3 + pool2 = self.maxpooling( + inputdata=conv_2_2, kernel_size=2, + stride=2, name='pool2' + ) + conv_3_1 = self._vgg16_conv_stage( + input_tensor=pool2, k_size=3, + out_dims=256, name='conv3_1', + need_layer_norm=True + ) + conv_3_2 = self._vgg16_conv_stage( + input_tensor=conv_3_1, k_size=3, + out_dims=256, name='conv3_2', + need_layer_norm=True + ) + conv_3_3 = self._vgg16_conv_stage( + input_tensor=conv_3_2, k_size=3, + out_dims=256, name='conv3_3', + need_layer_norm=True + ) + self._net_intermediate_results['encode_stage_3_share'] = { + 'data': conv_3_3, + 'shape': conv_3_3.get_shape().as_list() + } + + # encode stage 4 + pool3 = self.maxpooling( + inputdata=conv_3_3, kernel_size=2, + stride=2, name='pool3' + ) + conv_4_1 = self._vgg16_conv_stage( + input_tensor=pool3, k_size=3, + out_dims=512, name='conv4_1', + need_layer_norm=True + ) + conv_4_2 = self._vgg16_conv_stage( + input_tensor=conv_4_1, k_size=3, + out_dims=512, name='conv4_2', + need_layer_norm=True + ) + conv_4_3 = self._vgg16_conv_stage( + input_tensor=conv_4_2, k_size=3, + out_dims=512, name='conv4_3', + need_layer_norm=True + ) + self._net_intermediate_results['encode_stage_4_share'] = { + 'data': conv_4_3, + 'shape': conv_4_3.get_shape().as_list() + } + + # encode stage 5 for binary segmentation + pool4 = self.maxpooling( + inputdata=conv_4_3, kernel_size=2, + stride=2, name='pool4' + ) + conv_5_1_binary = self._vgg16_conv_stage( + input_tensor=pool4, k_size=3, + out_dims=512, name='conv5_1_binary', + need_layer_norm=True + ) + conv_5_2_binary = self._vgg16_conv_stage( + input_tensor=conv_5_1_binary, k_size=3, + out_dims=512, name='conv5_2_binary', + need_layer_norm=True + ) + conv_5_3_binary = self._vgg16_conv_stage( + input_tensor=conv_5_2_binary, k_size=3, + out_dims=512, name='conv5_3_binary', + need_layer_norm=True + ) + self._net_intermediate_results['encode_stage_5_binary'] = { + 'data': conv_5_3_binary, + 'shape': conv_5_3_binary.get_shape().as_list() + } + + # encode stage 5 for instance segmentation + conv_5_1_instance = self._vgg16_conv_stage( + input_tensor=pool4, k_size=3, + out_dims=512, name='conv5_1_instance', + need_layer_norm=True + ) + conv_5_2_instance = self._vgg16_conv_stage( + input_tensor=conv_5_1_instance, k_size=3, + out_dims=512, name='conv5_2_instance', + need_layer_norm=True + ) + conv_5_3_instance = self._vgg16_conv_stage( + input_tensor=conv_5_2_instance, k_size=3, + out_dims=512, name='conv5_3_instance', + need_layer_norm=True + ) + self._net_intermediate_results['encode_stage_5_instance'] = { + 'data': conv_5_3_instance, + 'shape': conv_5_3_instance.get_shape().as_list() + } + + return + + def _vgg16_fcn_decode(self, name): + """ + + :return: + """ + with tf.variable_scope(name): + + # decode part for binary segmentation + with tf.variable_scope(name_or_scope='binary_seg_decode'): + + decode_stage_5_binary = self._net_intermediate_results['encode_stage_5_binary']['data'] + + decode_stage_4_fuse = self._decode_block( + input_tensor=decode_stage_5_binary, + previous_feats_tensor=self._net_intermediate_results['encode_stage_4_share']['data'], + name='decode_stage_4_fuse', out_channels_nums=512, previous_kernel_size=3 + ) + decode_stage_3_fuse = self._decode_block( + input_tensor=decode_stage_4_fuse, + previous_feats_tensor=self._net_intermediate_results['encode_stage_3_share']['data'], + name='decode_stage_3_fuse', out_channels_nums=256 + ) + decode_stage_2_fuse = self._decode_block( + input_tensor=decode_stage_3_fuse, + previous_feats_tensor=self._net_intermediate_results['encode_stage_2_share']['data'], + name='decode_stage_2_fuse', out_channels_nums=128 + ) + decode_stage_1_fuse = self._decode_block( + input_tensor=decode_stage_2_fuse, + previous_feats_tensor=self._net_intermediate_results['encode_stage_1_share']['data'], + name='decode_stage_1_fuse', out_channels_nums=64 + ) + binary_final_logits_conv_weights_stddev = tf.sqrt( + tf.divide(tf.constant(2.0, tf.float32), + tf.multiply(4.0 * 4.0, + tf.cast(tf.shape(decode_stage_1_fuse)[3], tf.float32))) + ) + binary_final_logits_conv_weights_init = tf.truncated_normal_initializer( + mean=0.0, stddev=binary_final_logits_conv_weights_stddev) + + binary_final_logits = self.conv2d( + inputdata=decode_stage_1_fuse, + out_channel=self._class_nums, + kernel_size=1, use_bias=False, + w_init=binary_final_logits_conv_weights_init, + name='binary_final_logits' + ) + + self._net_intermediate_results['binary_segment_logits'] = { + 'data': binary_final_logits, + 'shape': binary_final_logits.get_shape().as_list() + } + + with tf.variable_scope(name_or_scope='instance_seg_decode'): + + decode_stage_5_instance = self._net_intermediate_results['encode_stage_5_instance']['data'] + + decode_stage_4_fuse = self._decode_block( + input_tensor=decode_stage_5_instance, + previous_feats_tensor=self._net_intermediate_results['encode_stage_4_share']['data'], + name='decode_stage_4_fuse', out_channels_nums=512, previous_kernel_size=3) + + decode_stage_3_fuse = self._decode_block( + input_tensor=decode_stage_4_fuse, + previous_feats_tensor=self._net_intermediate_results['encode_stage_3_share']['data'], + name='decode_stage_3_fuse', out_channels_nums=256) + + decode_stage_2_fuse = self._decode_block( + input_tensor=decode_stage_3_fuse, + previous_feats_tensor=self._net_intermediate_results['encode_stage_2_share']['data'], + name='decode_stage_2_fuse', out_channels_nums=128) + + decode_stage_1_fuse = self._decode_block( + input_tensor=decode_stage_2_fuse, + previous_feats_tensor=self._net_intermediate_results['encode_stage_1_share']['data'], + name='decode_stage_1_fuse', out_channels_nums=64, need_activate=False) + + self._net_intermediate_results['instance_segment_logits'] = { + 'data': decode_stage_1_fuse, + 'shape': decode_stage_1_fuse.get_shape().as_list() + } + + def build_model(self, input_tensor, name, reuse=False): + """ + + :param input_tensor: + :param name: + :param reuse: + :return: + """ + with tf.variable_scope(name_or_scope=name, reuse=reuse): + # vgg16 fcn encode part + self._vgg16_fcn_encode(input_tensor=input_tensor, name='vgg16_encode_module') + # vgg16 fcn decode part + self._vgg16_fcn_decode(name='vgg16_decode_module') + + return self._net_intermediate_results + + +if __name__ == '__main__': + """ + test code + """ + test_in_tensor = tf.placeholder(dtype=tf.float32, shape=[1, 256, 512, 3], name='input') + model = VGG16FCN(phase='train', cfg=parse_config_utils.lanenet_cfg) + ret = model.build_model(test_in_tensor, name='vgg16fcn') + for layer_name, layer_info in ret.items(): + print('layer name: {:s} shape: {}'.format(layer_name, layer_info['shape'])) -- Gitee From 7b683e406bc7538dd19c09b063b6f767b9fe1f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 10:05:13 +0000 Subject: [PATCH 13/19] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../cv/MNN-LANENET_ID1251_for_ACL/README.md | 138 ++++++ .../cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py | 78 +++ .../MNN-LANENET_ID1251_for_ACL/eval_ckpt.py | 190 +++++++ .../cv/MNN-LANENET_ID1251_for_ACL/eval_om.py | 79 +++ .../cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py | 169 +++++++ .../inference time.jpg.jpg | Bin 0 -> 23050 bytes .../lanenet_postprocess.py | 463 ++++++++++++++++++ .../metric_ckpt.jpg | Bin 0 -> 2247 bytes .../MNN-LANENET_ID1251_for_ACL/metric_om.jpg | Bin 0 -> 2978 bytes .../MNN-LANENET_ID1251_for_ACL/metric_pb.jpg | Bin 0 -> 2135 bytes 10 files changed, 1117 insertions(+) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/inference time.jpg.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_postprocess.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_ckpt.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_om.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_pb.jpg diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md new file mode 100644 index 000000000..285a1b468 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md @@ -0,0 +1,138 @@ +## 模型功能 + + 车道线检测 + + + + +## pb模型 + +``` + +python3.7 ckpt2pb.py +``` + +convert_ckpt_into_pb_file()函数,pb模型 PATH=./pretrained_model/eval.pb + +ckpt:链接:https://pan.baidu.com/s/1E6W7OHgIvi-B3TPRDl6OhA?pwd=6666 +提取码:6666 + + +## om模型 + + +使用ATC模型转换工具进行模型转换时可以参考如下指令: + + +``` + +atc --model=/usr/pb2om/eval.pb + + --framework=3 + + --output=/usr/pb2om/frozen + + --soc_version=Ascend910 + + out_nodes="lanenet/binary_seg_out:0;lanenet/instance_seg_out:0" + + --input_shape="input_tensor:1,256,512,3" + + --input_format=NHWC +``` + + + +## 使用msame工具推理 + + +参考 https://gitee.com/ascend/tools/tree/master/msame, 获取msame推理工具及使用方法。 + +获取到msame可执行文件之后,进行推理测试。 + + + +## 数据集转换bin + +``` + +python3.7 eval_pb.py +``` + +freeze_graph_test()函数 img_feed转test_img.bin + +## 推理测试 + + +使用msame推理工具,参考如下命令,发起推理测试: + + +``` + +./msame --model "/home/test_user05/pb2om/frozen.om" + + --input "/home/test_user05/pb2om/test_img.bin" + + --output "/home/test_user05/pb2om/" + + --outfmt BIN + + --loop 1 +``` + + +## 脚本和示例代码 + +输入数据:链接:https://pan.baidu.com/s/1bwZR3FfhP18mLMa44781Gw?pwd=0000 +提取码:0000 +├── eval_data + +1.pb预测 + +├── eval_pb.py //主代码 + +├── lanenet_model + + ├── lanenet.py //LANENET模型 + +├── README.md //代码说明文档 + + + +2.om预测 + +├── eval_om.py //主代码 + +├── lanenet_model + + ├── lanenet.py //LANENET模型 + +├── README.md //代码说明文档 + + + +3.ckpt转pb + +├── ckpt2pb.py + + + +##推理输出计算精度 + +``` + +python3.7 eval_om.py +``` + +## 推理精度 +定量指标采用准确率,精度为0.965,精度达标。 +定性指标采用论文中可视化binary segmentation和instance segmentation,输出在eval_output下 + +| gpu | npu |原论文 |推理 | +|-------|------|-------|-------| +| 96.5 | 96.5 | 96.4 |96.5 | + + + +## 推理性能 +inference time.jpg,性能达标 \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py new file mode 100644 index 000000000..8710bca83 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py @@ -0,0 +1,78 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Freeze Lanenet model into frozen pb file +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf +import os + +os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' + + +def convert_ckpt_into_pb_file(ckpt_file_path, pb_file_path): + """ + + :param ckpt_file_path: + :param pb_file_path: + :return: + """ + with tf.Session() as sess: + + saver = tf.train.import_meta_graph(ckpt_file_path + '.meta', clear_devices=True) + input_graph_def = tf.get_default_graph().as_graph_def() + + binary_seg_node = 'lanenet/binary_seg_out' + instance_seg_node = 'lanenet/instance_seg_out' + + saver.restore(sess, ckpt_file_path) # 恢复图并得到数据 + output_graph_def = tf.graph_util.convert_variables_to_constants( # 模型持久化,将变量值固定 + sess=sess, + input_graph_def=input_graph_def, + output_node_names=['input_tensor', binary_seg_node, instance_seg_node]) + + with tf.gfile.GFile(pb_file_path, "wb") as f: # 保存模型 + f.write(output_graph_def.SerializeToString()) # 序列化输出 + print("%d ops in the final graph." % len(output_graph_def.node)) + + +if __name__ == '__main__': + """ + test code + """ + + ckpt_path = './eval_ckpt/eval.ckpt' + pb_save_path = './pretrained_model/eval.pb' + + convert_ckpt_into_pb_file( + ckpt_file_path=ckpt_path, + pb_file_path=pb_save_path + ) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py new file mode 100644 index 000000000..993c5719c --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py @@ -0,0 +1,190 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +test LaneNet model on single image +""" +import argparse +import os.path as ops +import time + +import cv2 +import numpy as np +import tensorflow as tf + +from lanenet_model import lanenet +from lanenet_model import lanenet_postprocess +from local_utils.config_utils import parse_config_utils +from local_utils.log_util import init_logger + +CFG = parse_config_utils.lanenet_cfg +LOG = init_logger.get_logger(log_file_name_prefix='lanenet_test') + +gt_path = './eval_data/gt.png' + + +def init_args(): + """ + + :return: + """ + parser = argparse.ArgumentParser() + parser.add_argument('--image_path', default='./eval_data/test_img.jpg', + type=str, help='The image path or the src image save dir') + parser.add_argument('--weights_path', default='./pretrained_model/ckpt/tusimple_lanenet.ckpt', + type=str, help='The model weights path') + parser.add_argument('--with_lane_fit', type=args_str2bool, help='If need to do lane fit', default=False) + + return parser.parse_args() + + +def args_str2bool(arg_value): + """ + + :param arg_value: + :return: + """ + if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): + return True + + elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): + return False + else: + raise argparse.ArgumentTypeError('Unsupported value encountered.') + + +def minmax_scale(input_arr): + """ + + :param input_arr: + :return: + """ + min_val = np.min(input_arr) + max_val = np.max(input_arr) + + output_arr = (input_arr - min_val) * 255.0 / (max_val - min_val) + + return output_arr + + +def test_lanenet(image_path, gt_path, weights_path, with_lane_fit=False): + """ + + :param image_path: + :param weights_path: + :param with_lane_fit: + :return: + """ + assert ops.exists(image_path), '{:s} not exist'.format(image_path) + + LOG.info('Start reading image and preprocessing') + t_start = time.time() + image = cv2.imread(image_path, cv2.IMREAD_COLOR) + image_vis = image + image = cv2.resize(image, (512, 256), interpolation=cv2.INTER_LINEAR) + image = image / 127.5 - 1.0 + LOG.info('Image load complete, cost time: {:.5f}s'.format(time.time() - t_start)) + + input_tensor_0 = tf.placeholder(dtype=tf.float32, shape=[1, 256, 512, 3], name='input_tensor') + input_tensor = tf.identity(input_tensor_0, name='input_tensor') + net = lanenet.LaneNet(phase='test', cfg=CFG) + binary_seg_ret, instance_seg_ret = net.inference(input_tensor=input_tensor, name='LaneNet') + + with tf.variable_scope('lanenet/'): + binary_seg_ret = tf.identity(binary_seg_ret, name='binary_seg_out') + instance_seg_ret = tf.identity(instance_seg_ret, name='instance_seg_out') + + postprocessor = lanenet_postprocess.LaneNetPostProcessor(cfg=CFG) + + sess = tf.Session() + + # define moving average version of the learned variables for eval + with tf.variable_scope(name_or_scope='moving_avg'): + variable_averages = tf.train.ExponentialMovingAverage( + CFG.SOLVER.MOVING_AVE_DECAY) + variables_to_restore = variable_averages.variables_to_restore() + + # define saver + saver = tf.train.Saver(variables_to_restore) + + with sess.as_default(): + saver.restore(sess=sess, save_path=weights_path) + image = np.expand_dims(image, axis=0) + binary_seg_image, instance_seg_image = sess.run( + [binary_seg_ret, instance_seg_ret], + feed_dict={input_tensor: image} + ) + + postprocess_result = postprocessor.postprocess( + binary_seg_result=binary_seg_image[0], + instance_seg_result=instance_seg_image[0], + source_image=image_vis, + with_lane_fit=True, + data_source='tusimple' + ) + mask_image = postprocess_result['mask_image'] + src_image = postprocess_result['source_image'] + + # -------------- 计算准确率 ------------------ # + gt = cv2.imread(gt_path, cv2.IMREAD_COLOR) + gt_trans = cv2.resize(gt, (512, 256), interpolation=cv2.INTER_LINEAR) + + gt_gray = cv2.cvtColor(gt_trans, cv2.COLOR_BGR2GRAY) + mask_image_gray = cv2.cvtColor(mask_image, cv2.COLOR_BGR2GRAY) + WIDTH = mask_image_gray.shape[0] + HIGTH = mask_image_gray.shape[1] + tp_count = 0 + tn_count = 0 + for i in range(WIDTH): + for j in range(HIGTH): + if mask_image_gray[i, j] != 0 and gt_gray[i, j] != 0: + tp_count = tp_count + 1 + if mask_image_gray[i, j] == 0 and gt_gray[i, j] == 0: + tn_count = tn_count + 1 + Accuracy = (int(tp_count) + int(tn_count)) / (int(WIDTH) * int(HIGTH)) + + print("\n# Metric_ckpt " + "\n Accuracy:{:.3f}".format(Accuracy)) + + cv2.imwrite('./eval_output/mask_ckpt.jpg', mask_image) + cv2.imwrite('./eval_output/src_ckpt.jpg', src_image) + + saver.save(sess, './eval_ckpt/eval.ckpt') + + sess.close() + + return + + +if __name__ == '__main__': + """ + test code + """ + # init args + args = init_args() + + test_lanenet(args.image_path, gt_path, args.weights_path, with_lane_fit=args.with_lane_fit) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py new file mode 100644 index 000000000..98a8e5373 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py @@ -0,0 +1,79 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import numpy as np +import lanenet_postprocess +from local_utils.config_utils import parse_config_utils +import cv2 + +CFG = parse_config_utils.lanenet_cfg + +image_path = './eval_data/test_img.jpg' +image_vis = cv2.imread(image_path, cv2.IMREAD_COLOR) + +b_out_path = './eval_data/frozen_output_0.bin' +i_out_path = './eval_data/frozen_output_1.bin' +b_out = np.fromfile(b_out_path, dtype=np.int64) +i_out = np.fromfile(i_out_path, dtype=np.float32) +b_out = np.reshape(b_out, (1, 256, 512)) +i_out = np.reshape(i_out, (1, 256, 512, 4)) + +postprocessor = lanenet_postprocess.LaneNetPostProcessor(cfg=CFG) +postprocess_result = postprocessor.postprocess( + binary_seg_result=b_out[0], + instance_seg_result=i_out[0], + source_image=image_vis, + with_lane_fit=True, + data_source='tusimple' + ) +mask_image = postprocess_result['mask_image'] +src_image = postprocess_result['source_image'] +gt_path = './eval_data/gt.png' +gt = cv2.imread(gt_path, cv2.IMREAD_COLOR) +gt_trans = cv2.resize(gt, (512, 256), interpolation=cv2.INTER_LINEAR) + +# -------------- 计算准确率 ------------------ # +gt_gray = cv2.cvtColor(gt_trans, cv2.COLOR_BGR2GRAY) +mask_image_gray = cv2.cvtColor(mask_image, cv2.COLOR_BGR2GRAY) +WIDTH = mask_image_gray.shape[0] +HIGTH = mask_image_gray.shape[1] +tp_count = 0 +tn_count = 0 +for i in range(WIDTH): + for j in range(HIGTH): + if mask_image_gray[i, j] != 0 and gt_gray[i, j] != 0: + tp_count = tp_count + 1 + if mask_image_gray[i, j] == 0 and gt_gray[i, j] == 0: + tn_count = tn_count + 1 +Accuracy = (int(tp_count) + int(tn_count)) / (int(WIDTH) * int(HIGTH)) + +print("\n# Metric_om " + "\n Accuracy:{:.3f}".format(Accuracy)) + +cv2.imwrite('./eval_output/mask_om.jpg', mask_image) +cv2.imwrite('./eval_output/src_om.jpg', src_image) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py new file mode 100644 index 000000000..5584b4ad7 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py @@ -0,0 +1,169 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import numpy as np +import os +import tensorflow as tf +from tensorflow.python.platform import gfile +import lanenet_postprocess +from local_utils.config_utils import parse_config_utils +import cv2 + + +os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' + +image_path = './eval_data/test_img.jpg' + +test_img = cv2.imread(image_path, cv2.IMREAD_COLOR) +image_vis = test_img +test_img_trans = cv2.resize(test_img, (512, 256), interpolation=cv2.INTER_LINEAR) +test_img_trans = test_img_trans / 127.5 - 1.0 + +gt_path = './eval_data/gt.png' +gt = cv2.imread(gt_path, cv2.IMREAD_COLOR) +gt_trans = cv2.resize(gt, (512, 256), interpolation=cv2.INTER_LINEAR) + +CFG = parse_config_utils.lanenet_cfg + +pb_path = './pretrained_model/eval.pb' + +# ----------- 查看 pbnode ----------- +# read graph definition +f = gfile.FastGFile(pb_path, "rb") +gd = graph_def = tf.GraphDef() +graph_def.ParseFromString(f.read()) +tf.import_graph_def(graph_def, name='') +for i, n in enumerate(graph_def.node): + print("=====node====") + print("Name of the node - %s" % n.name) +# -------------------------------- + + +def minmax_scale(input_arr): + """ + + :param input_arr: + :return: + """ + min_val = np.min(input_arr) + max_val = np.max(input_arr) + + output_arr = (input_arr - min_val) * 255.0 / (max_val - min_val) + + return output_arr + + +def freeze_graph_test(pb_path, img_path): + # :param pb_path:pb文件的路径 + # :param test_img:测试图片的路径 + # :return: + + f = gfile.FastGFile(pb_path, "rb") + graph_def = tf.GraphDef() + graph_def.ParseFromString(f.read()) + + with tf.Graph().as_default(): + output_graph_def = tf.GraphDef() + with open(pb_path, "rb") as f: + output_graph_def.ParseFromString(f.read()) + tf.import_graph_def(graph_def, name="") + + with tf.Session() as sess: + + sess.run(tf.global_variables_initializer()) + + # 定义输入输出节点名称 + input_node = sess.graph.get_tensor_by_name("input_tensor:0") + binary_output_node = sess.graph.get_tensor_by_name("lanenet/binary_seg_out:0") + pixel_embedding_output_node = sess.graph.get_tensor_by_name("lanenet/instance_seg_out:0") + img_feed = test_img_trans.astype(np.float32) + img_feed = np.expand_dims(img_feed, axis=0) + + # img_bin = img_feed + # img_bin.tofile("./eval_data/test_img.bin") + + binary_output, pixel_embedding_output = sess.run([binary_output_node, pixel_embedding_output_node], + feed_dict={input_node: img_feed}) + + postprocessor = lanenet_postprocess.LaneNetPostProcessor(cfg=CFG) + postprocess_result = postprocessor.postprocess( + binary_seg_result=binary_output[0], + instance_seg_result=pixel_embedding_output[0], + source_image=image_vis, + with_lane_fit=True, + data_source='tusimple' + ) + mask_image = postprocess_result['mask_image'] + src_image = postprocess_result['source_image'] + # if with_lane_fit: + # lane_params = postprocess_result['fit_params'] + # LOG.info('Model have fitted {:d} lanes'.format(len(lane_params))) + # for i in range(len(lane_params)): + # LOG.info('Fitted 2-order lane {:d} curve param: {}'.format(i + 1, lane_params[i])) + + for i in range(CFG.MODEL.EMBEDDING_FEATS_DIMS): + pixel_embedding_output[:, :, i] = minmax_scale(pixel_embedding_output[:, :, i]) + embedding_image = np.array(pixel_embedding_output, np.uint8) + + # plt.figure('mask_image') + # plt.imshow(mask_image[:, :, (2, 1, 0)]) + # plt.show() + # plt.figure('src_image') + # plt.imshow(image_vis[:, :, (2, 1, 0)]) + # plt.figure('instance_image') + # plt.imshow(embedding_image[:, :, (2, 1, 0)]) + # plt.figure('binary_image') + # plt.imshow(binary_output * 255, cmap='gray') + # plt.show() + + # -------------- 计算准确率 ------------------ # + gt_gray = cv2.cvtColor(gt_trans, cv2.COLOR_BGR2GRAY) + mask_image_gray = cv2.cvtColor(mask_image, cv2.COLOR_BGR2GRAY) + WIDTH = mask_image_gray.shape[0] + HIGTH = mask_image_gray.shape[1] + tp_count = 0 + tn_count = 0 + for i in range(WIDTH): + for j in range(HIGTH): + if mask_image_gray[i, j] != 0 and gt_gray[i, j] != 0: + tp_count = tp_count + 1 + if mask_image_gray[i, j] == 0 and gt_gray[i, j] == 0: + tn_count = tn_count + 1 + Accuracy = (int(tp_count) + int(tn_count)) / (int(WIDTH) * int(HIGTH)) + + print("\n# Metric_pb " + "\n Accuracy:{:.3f}".format(Accuracy)) + + cv2.imwrite('./eval_output/mask_pb.jpg', mask_image) + cv2.imwrite('./eval_output/src_pb.jpg', src_image) + + +if __name__ == '__main__': + # 测试pb模型 + img_path = './eval_data/test_img.npy' + freeze_graph_test(pb_path=pb_path, img_path=img_path) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/inference time.jpg.jpg b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/inference time.jpg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1dbe0e6e74cfff7198205dd82800bf688d4e010b GIT binary patch literal 23050 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 SnW9sd33yW$Stjh)kN*JaXvo6= literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_postprocess.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_postprocess.py new file mode 100644 index 000000000..2fe33f9ad --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_postprocess.py @@ -0,0 +1,463 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +LaneNet model post process +""" +import os.path as ops +import math + +import cv2 +import numpy as np +import loguru +from sklearn.cluster import DBSCAN +from sklearn.preprocessing import StandardScaler + +LOG = loguru.logger + + +def _morphological_process(image, kernel_size=5): + """ + morphological process to fill the hole in the binary segmentation result + :param image: + :param kernel_size: + :return: + """ + if len(image.shape) == 3: + raise ValueError('Binary segmentation result image should be a single channel image') + + if image.dtype is not np.uint8: + image = np.array(image, np.uint8) + + kernel = cv2.getStructuringElement(shape=cv2.MORPH_ELLIPSE, ksize=(kernel_size, kernel_size)) + + # close operation fille hole + closing = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel, iterations=1) + + return closing + + +def _connect_components_analysis(image): + """ + connect components analysis to remove the small components + :param image: + :return: + """ + if len(image.shape) == 3: + gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + else: + gray_image = image + + return cv2.connectedComponentsWithStats(gray_image, connectivity=8, ltype=cv2.CV_32S) + + +class _LaneFeat(object): + """ + + """ + def __init__(self, feat, coord, class_id=-1): + """ + lane feat object + :param feat: lane embeddng feats [feature_1, feature_2, ...] + :param coord: lane coordinates [x, y] + :param class_id: lane class id + """ + self._feat = feat + self._coord = coord + self._class_id = class_id + + @property + def feat(self): + """ + + :return: + """ + return self._feat + + @feat.setter + def feat(self, value): + """ + + :param value: + :return: + """ + if not isinstance(value, np.ndarray): + value = np.array(value, dtype=np.float64) + + if value.dtype != np.float32: + value = np.array(value, dtype=np.float64) + + self._feat = value + + @property + def coord(self): + """ + + :return: + """ + return self._coord + + @coord.setter + def coord(self, value): + """ + + :param value: + :return: + """ + if not isinstance(value, np.ndarray): + value = np.array(value) + + if value.dtype != np.int32: + value = np.array(value, dtype=np.int32) + + self._coord = value + + @property + def class_id(self): + """ + + :return: + """ + return self._class_id + + @class_id.setter + def class_id(self, value): + """ + + :param value: + :return: + """ + if not isinstance(value, np.int64): + raise ValueError('Class id must be integer') + + self._class_id = value + + +class _LaneNetCluster(object): + """ + Instance segmentation result cluster + """ + + def __init__(self, cfg): + """ + + """ + self._color_map = [np.array([255, 0, 0]), + np.array([0, 255, 0]), + np.array([0, 0, 255]), + np.array([125, 125, 0]), + np.array([0, 125, 125]), + np.array([125, 0, 125]), + np.array([50, 100, 50]), + np.array([100, 50, 100])] + self._cfg = cfg + + def _embedding_feats_dbscan_cluster(self, embedding_image_feats): + """ + dbscan cluster + :param embedding_image_feats: + :return: + """ + db = DBSCAN(eps=self._cfg.POSTPROCESS.DBSCAN_EPS, min_samples=self._cfg.POSTPROCESS.DBSCAN_MIN_SAMPLES) + try: + features = StandardScaler().fit_transform(embedding_image_feats) + db.fit(features) + except Exception as err: + LOG.error(err) + ret = { + 'origin_features': None, + 'cluster_nums': 0, + 'db_labels': None, + 'unique_labels': None, + 'cluster_center': None + } + return ret + db_labels = db.labels_ + unique_labels = np.unique(db_labels) + + num_clusters = len(unique_labels) + cluster_centers = db.components_ + + ret = { + 'origin_features': features, + 'cluster_nums': num_clusters, + 'db_labels': db_labels, + 'unique_labels': unique_labels, + 'cluster_center': cluster_centers + } + + return ret + + @staticmethod + def _get_lane_embedding_feats(binary_seg_ret, instance_seg_ret): + """ + get lane embedding features according the binary seg result + :param binary_seg_ret: + :param instance_seg_ret: + :return: + """ + idx = np.where(binary_seg_ret == 255) + lane_embedding_feats = instance_seg_ret[idx] + lane_coordinate = np.vstack((idx[1], idx[0])).transpose() + + assert lane_embedding_feats.shape[0] == lane_coordinate.shape[0] + + ret = { + 'lane_embedding_feats': lane_embedding_feats, + 'lane_coordinates': lane_coordinate + } + + return ret + + def apply_lane_feats_cluster(self, binary_seg_result, instance_seg_result): + """ + + :param binary_seg_result: + :param instance_seg_result: + :return: + """ + # get embedding feats and coords + get_lane_embedding_feats_result = self._get_lane_embedding_feats( + binary_seg_ret=binary_seg_result, + instance_seg_ret=instance_seg_result + ) + + # dbscan cluster + dbscan_cluster_result = self._embedding_feats_dbscan_cluster( + embedding_image_feats=get_lane_embedding_feats_result['lane_embedding_feats'] + ) + + mask = np.zeros(shape=[binary_seg_result.shape[0], binary_seg_result.shape[1], 3], dtype=np.uint8) + db_labels = dbscan_cluster_result['db_labels'] + unique_labels = dbscan_cluster_result['unique_labels'] + coord = get_lane_embedding_feats_result['lane_coordinates'] + + if db_labels is None: + return None, None + + lane_coords = [] + for index, label in enumerate(unique_labels.tolist()): + if label == -1: + continue + idx = np.where(db_labels == label) + pix_coord_idx = tuple((coord[idx][:, 1], coord[idx][:, 0])) + mask[pix_coord_idx] = self._color_map[index] + lane_coords.append(coord[idx]) + + return mask, lane_coords + + +class LaneNetPostProcessor(object): + """ + lanenet post process for lane generation + """ + def __init__(self, cfg, ipm_remap_file_path='./eval_data/tusimple_ipm_remap.yml'): + """ + + :param ipm_remap_file_path: ipm generate file path + """ + assert ops.exists(ipm_remap_file_path), '{:s} not exist'.format(ipm_remap_file_path) + + self._cfg = cfg + self._cluster = _LaneNetCluster(cfg=cfg) + self._ipm_remap_file_path = ipm_remap_file_path + + remap_file_load_ret = self._load_remap_matrix() + self._remap_to_ipm_x = remap_file_load_ret['remap_to_ipm_x'] + self._remap_to_ipm_y = remap_file_load_ret['remap_to_ipm_y'] + + self._color_map = [np.array([255, 0, 0]), + np.array([0, 255, 0]), + np.array([0, 0, 255]), + np.array([125, 125, 0]), + np.array([0, 125, 125]), + np.array([125, 0, 125]), + np.array([50, 100, 50]), + np.array([100, 50, 100])] + + def _load_remap_matrix(self): + """ + + :return: + """ + fs = cv2.FileStorage(self._ipm_remap_file_path, cv2.FILE_STORAGE_READ) + + remap_to_ipm_x = fs.getNode('remap_ipm_x').mat() + remap_to_ipm_y = fs.getNode('remap_ipm_y').mat() + + ret = { + 'remap_to_ipm_x': remap_to_ipm_x, + 'remap_to_ipm_y': remap_to_ipm_y, + } + + fs.release() + + return ret + + def postprocess(self, binary_seg_result, instance_seg_result=None, + min_area_threshold=100, source_image=None, + with_lane_fit=True, data_source='tusimple'): + """ + + :param binary_seg_result: + :param instance_seg_result: + :param min_area_threshold: + :param source_image: + :param with_lane_fit: + :param data_source: + :return: + """ + # convert binary_seg_result + binary_seg_result = np.array(binary_seg_result * 255, dtype=np.uint8) + + # apply image morphology operation to fill in the hold and reduce the small area + morphological_ret = _morphological_process(binary_seg_result, kernel_size=5) + + connect_components_analysis_ret = _connect_components_analysis(image=morphological_ret) + + labels = connect_components_analysis_ret[1] + stats = connect_components_analysis_ret[2] + for index, stat in enumerate(stats): + if stat[4] <= min_area_threshold: + idx = np.where(labels == index) + morphological_ret[idx] = 0 + + # apply embedding features cluster + mask_image, lane_coords = self._cluster.apply_lane_feats_cluster( + binary_seg_result=morphological_ret, + instance_seg_result=instance_seg_result + ) + + if mask_image is None: + return { + 'mask_image': None, + 'fit_params': None, + 'source_image': None, + } + if not with_lane_fit: + tmp_mask = cv2.resize( + mask_image, + dsize=(source_image.shape[1], source_image.shape[0]), + interpolation=cv2.INTER_NEAREST + ) + source_image = cv2.addWeighted(source_image, 0.6, tmp_mask, 0.4, 0.0, dst=source_image) + return { + 'mask_image': mask_image, + 'fit_params': None, + 'source_image': source_image, + } + + # lane line fit + fit_params = [] + src_lane_pts = [] # lane pts every single lane + for lane_index, coords in enumerate(lane_coords): + if data_source == 'tusimple': + tmp_mask = np.zeros(shape=(720, 1280), dtype=np.uint8) + tmp_mask[tuple((np.int_(coords[:, 1] * 720 / 256), np.int_(coords[:, 0] * 1280 / 512)))] = 255 + else: + raise ValueError('Wrong data source now only support tusimple') + tmp_ipm_mask = cv2.remap( + tmp_mask, + self._remap_to_ipm_x, + self._remap_to_ipm_y, + interpolation=cv2.INTER_NEAREST + ) + nonzero_y = np.array(tmp_ipm_mask.nonzero()[0]) + nonzero_x = np.array(tmp_ipm_mask.nonzero()[1]) + + fit_param = np.polyfit(nonzero_y, nonzero_x, 2) + fit_params.append(fit_param) + + [ipm_image_height, ipm_image_width] = tmp_ipm_mask.shape + plot_y = np.linspace(10, ipm_image_height, ipm_image_height - 10) + fit_x = fit_param[0] * plot_y ** 2 + fit_param[1] * plot_y + fit_param[2] + # fit_x = fit_param[0] * plot_y ** 3 + fit_param[1] * plot_y ** 2 + fit_param[2] * plot_y + fit_param[3] + + lane_pts = [] + for index in range(0, plot_y.shape[0], 5): + src_x = self._remap_to_ipm_x[ + int(plot_y[index]), int(np.clip(fit_x[index], 0, ipm_image_width - 1))] + if src_x <= 0: + continue + src_y = self._remap_to_ipm_y[ + int(plot_y[index]), int(np.clip(fit_x[index], 0, ipm_image_width - 1))] + src_y = src_y if src_y > 0 else 0 + + lane_pts.append([src_x, src_y]) + + src_lane_pts.append(lane_pts) + + # tusimple test data sample point along y axis every 10 pixels + source_image_width = source_image.shape[1] + for index, single_lane_pts in enumerate(src_lane_pts): + single_lane_pt_x = np.array(single_lane_pts, dtype=np.float32)[:, 0] + single_lane_pt_y = np.array(single_lane_pts, dtype=np.float32)[:, 1] + if data_source == 'tusimple': + start_plot_y = 240 + end_plot_y = 720 + else: + raise ValueError('Wrong data source now only support tusimple') + step = int(math.floor((end_plot_y - start_plot_y) / 10)) + for plot_y in np.linspace(start_plot_y, end_plot_y, step): + diff = single_lane_pt_y - plot_y + fake_diff_bigger_than_zero = diff.copy() + fake_diff_smaller_than_zero = diff.copy() + fake_diff_bigger_than_zero[np.where(diff <= 0)] = float('inf') + fake_diff_smaller_than_zero[np.where(diff > 0)] = float('-inf') + idx_low = np.argmax(fake_diff_smaller_than_zero) + idx_high = np.argmin(fake_diff_bigger_than_zero) + + previous_src_pt_x = single_lane_pt_x[idx_low] + previous_src_pt_y = single_lane_pt_y[idx_low] + last_src_pt_x = single_lane_pt_x[idx_high] + last_src_pt_y = single_lane_pt_y[idx_high] + + if previous_src_pt_y < start_plot_y or last_src_pt_y < start_plot_y or \ + fake_diff_smaller_than_zero[idx_low] == float('-inf') or \ + fake_diff_bigger_than_zero[idx_high] == float('inf'): + continue + + interpolation_src_pt_x = (abs(previous_src_pt_y - plot_y) * previous_src_pt_x + + abs(last_src_pt_y - plot_y) * last_src_pt_x) / \ + (abs(previous_src_pt_y - plot_y) + abs(last_src_pt_y - plot_y)) + interpolation_src_pt_y = (abs(previous_src_pt_y - plot_y) * previous_src_pt_y + + abs(last_src_pt_y - plot_y) * last_src_pt_y) / \ + (abs(previous_src_pt_y - plot_y) + abs(last_src_pt_y - plot_y)) + + if interpolation_src_pt_x > source_image_width or interpolation_src_pt_x < 10: + continue + + lane_color = self._color_map[index].tolist() + cv2.circle(source_image, (int(interpolation_src_pt_x), + int(interpolation_src_pt_y)), 5, lane_color, -1) + ret = { + 'mask_image': mask_image, + 'fit_params': fit_params, + 'source_image': source_image, + } + + return ret diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_ckpt.jpg b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_ckpt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d02d97c03ffb1318c226b88d9c8a3a46e9e4a1fd GIT binary patch literal 2247 zcmbW0c{JPU8pnTGWU)4uN-B0G))uL4tfPwVv{Xe&tCq%cMcUXdQ$|ZMOcZ0UrL~ly zYNzdREr~6v)E0~-mZlW3mT?XD-ZMRS&b{Z%%=4b_AJ2K7^M0St^PYEqcz+T&a`ue% z82|(V0V@Xw*k=Le00IVs!*~#II2?&Y@bZfa@bmHUV}wP7L?w?&OGzHXVr3LGlw{=8 z@TYWi_4EzQ zPg|U^w6Z>X<*J?iHHYhtuD9LXJv{G_D0lBs0|JABzm0tGFe>^{Oyc9Dv940ueCo2vfT}BdZ_<^PZ9vU2NG_{VjXf8TJYVY`U6ifh?TzA^ zPLwrDe|Su8P=H&&v+KpW$RHo_B=K9R!+&#UF0!RF3UDD{>5!?9v1mnFnU9+%7+-Ok z-Jt3UjeuhlnE3@pg zrERXA@V)y8PY5{|w4ClmrMhU1i#gOxJk@X4T<`?Ho{KU{uIy6S>|XU*%e6c{J>D;m z{^e1dyZvBEXaNc4^)!Ccc}y#1?WBD4K5!JF@4XuyQ$j9ifeNUQ2DM+V$Dhz9@3;Yb zo*SU8bnK>mui9glHocbl0Q*C1!1*{=u9BEWNuC6zTuQgCRJhd2%>*B3s)xo-`Ug{= zy)R$y+6Rm|dSziOzpF3)4*lX$QMw%=>8=_*E0UEMRp}1FAwb`+HBF-8xJC=$AGe~) z)a248ID_U8m2O(Sy40sgwxDrZA*VsT`oVXlt0Zc_;fp97-z;-ltKL+TPRSOk_6&^Q z?3|dfuZg_qTb2dQXc`Xp3)JuEm3(OQQIY$pbNOtgt*Pu2*-MEAVy z0v|;q#wpWPNs?@R9vp+q`EMzc+x?A`fF#?QICdzGj$!Ov2HTvA*QTxKV?E?Qm?ACi z?QA5`wn?MH72o8bn^g8w>c=kp{K-o$lrWXxSy*U`335q>Zv{aq=^(IU>#V#;bMudz}y%AqjP zvg0cUV^im!#&ZN6V@+v8!Z8=RpjyG(8G-We7M0>9+EQG!yA$oeN-e}7k2i3a;Kr$T?z1TrZke@jEKB?beDdwZXe*Qi?OLytCO(RZ(W81zzS$<6d6VFAiNxe=Fgd(6eU zkJ*>)M5lkwe^YVCZXiJ)lL1%L!xqm=(nY^<85)xw+Stm>5-XoR(i0-kTwhm5h`pQa zIJ;$)!zN~LHo0Z>7Zg7&Qkz)EmvIfx)I>1js;oz6EfB za_`h^i_^v3S#P%&aI^6KVY{xZ5ZhNZi4!6B`xx+4!)l&YhC+B^ASbAF^#3~amsg|6 z1$PE*(sUg2eShBDymis2B4MzyCGE@Qi7ozm!&N8rG3C>*K)bjo7u*yMYC!p p$V+i{2P+C`?27&PtxrrTqFPUDQ$>|ptr4RrF-lWv?;TBTszyqK7_rr+wP&?vC}PEElZcYq z6pvj>JXTAp!gcRIa9`ZdeewOB-+6yN=W`OC80iC9cv%1d0MOu}j_HMVUhtTi@#3D@ zUGu#Vnm|*1Z9x49|Bnkp57TFw2Jh^4ZT%#*0CWX>XjDEloaD^dz;HC`+Gi{P^JPlMt zdxnGaD#7Cjzu-q&V-sf54QVRAY&8k(2ve2ER8@D5lTLSWDSS7WuiTiu|T}b+#!RMQP9d1mtb`J-)qugtK`K-pl8-j*i$Yg zMnl=P!I+z!+ngHk>93XF(bJE6;h~Yy)ZII3T5DN_7V3RPqRYh*XPC&3PT5Tm$wYDw z$hzfa(|jq?_X|z+XC#(A1KoU;PS94PcZYT9OCVrdhqYzDg`Jg_XDj!ps7x}a8a_gI zP7F-OYUFlP>qObi4i+n+D3u-l&jXf?$De%o1k$B2{(#GHx@ zIUfAMo{E_;eSk;NktDx-5G)Yv*0b8ZpK9DagYYD54?eUPz_`m!l^8BEB;iv>ZPkCC zIM#-?$(fd;S{07dDhV<+`|L8AQwveR+R86jsX&95!qzgWL*l&-!xH(-yw5*H`)MU{51A-Gf_$I-NObj+{8@aGM;2C10;EDzt3QW zwSqB-OS^Htw~iLJ;IY{zZV0yw>)*quQJEshQ2(Xya7cN@5W3j*D=tke!dS&A+{sH2 zFJ7N|3iZqD+wT;vtc2oh+RZ+xrs%!MgwpK# ztNnWcBTkwtTLg(t6NC;*btf{0s%WLYr`e^dKn(4H5)#t?esi_jL(b#T-@|!NC48BfTJ`=0*?v@~9 zG08vr$v@2Kw;hbr)xQB}!Wq+qH}BP!<6`b_bCRQS&Wnxaw<4llg$4C=#Jnp+++ zQ&afqH$-adsl{Lo$r~+iiDW6f-FH z%&x)KQ|8#itBTtxZS_o)rr>(7Y$et+LtgM+Nfw?UzLIAt}egvw^)6wi6X>1)1hx zu=L?aBvd>m>c6mzN-wMla{(H>))1SX=g1u(ri6BE#n){FxE@--T(+ZHr1Kj88Q^3V z-V9t>fN;HdpS1qy%?4aRiLD~WfcUdER<_m(oj>6LuYV(?f0Q%5r*hmRgm!zE3?;>N zUHy56=7O;|qsLl$s1n{q9Kl6ve2LZxrFDRCweiiIp|+IXEq0glN?~=UeNvw4o^!X= z+g7LVeI4{0LOw*#3FU8Nex0f3sPqN7p!iG%P8>f??Tbn#jVeBD+yDe*zIdCKW7eb`L2=9`S0S(kl;SBRPl2ltbC z?r!Wa2R%B-JGskLF^nQ^8<`$HMP|R*lX0JXmyCmgKdCT)4dK+=n$_7dSuo|NSc?@9 z{y2qjB7D(5wAfj2=$sW2XC>1PIgNIw<961Q2V#VPuZwOC`b5P=6Y_%rN^P8-okpQu_?c$5l~&apT%yajC3Hg6#k-SRbyiosmiO%>Yrfz=!0VXcw7WvGaVFr+;^9XfDAHllt> z8cum;>!FyxrD18@o#)jg8cc}oB4j%wALH5?!-6Z`+fM>Y*9)f${$5{I>?(e z;yP@-2d4mS3J48+e^|%xTwn3Nj6QW&LS76$(OZAhW8gUM*T?mdjG;whLtgHD5`UP^ zu`7G1;ddjx@vq(k>SpX22x=T#^UZm`*fp$7AcSr7^{f7X9^ z`h%jlk)7nVn3Ap=>Ye5s)+MN@sL1lluS??9{C`69k$WM#Q9Xm~7Sf~gXj>kZ?Eqp# zLGe#k49sGJlVo*|$iMK%*?~M@AxF362ZE8XqOu_@U*HW0pQ_Tp`^(~sKFmbPNTDP{uBQ!UML_Er0_u=OF?2-|p|Y zKL^XT!x?2Yb0^+O+dLh|Nze*y{8phR$E9vG7Sp?&OCyFYo;e)!x2Y#MZLgo;8-tz` zJGHJQxP`OUW665*_hEi}UR&lx{9pP1jxpd|$h}jd3hU^&URCM9|A$uj7kQNg!?jF1 z!ZIDcTUPVT;Suz7;>w|FiKUvUV;x$UEvth)@tN{EIc+|=gz1x4z=L8#QkG_RXyL^p z&vkC@y1rojE5`q1na5LpqQ;}GH;mX2xc*teQrNf+0Xh8ved~!*`UUEkjUQEXJon&$ z6@k4WAIlC{M(*%UI|iFLla+2=?r#L@F-7Stza~%92mcXc7YV*ExukeYM^*HX;p)e>f90r3S5O6+zlmI^x$uA*t@&rm+QdUM<5{;HqJfkd!QCC2t zRrFNVwXirGPFC5#L|@zZj1Erw_z@5Sf#65-iwg*dYs;hMwf}G(b^yX~;1bXZ24Mgm zVGvjtbodgG1ppB5(X__{|5hL#FoYKhgCqEmM-2@^01pTZ=7E5Dc_EOa?zp3S03ysQ zB9A=>J?ZET!-Sx;6Eln83g@47iaHIgD(d)zk`a7je-W3EJf)Y z3rj0&8(U`=S2z4+cMsohulV@~5Cg-)BO;@sV`7tTC8ylJb2l|BJ13WtN4@``xTLh~ zQF+DV%G$d6hDLf*b4%BYm))-zJ-vOyBco&E6K|N4^Y2*i7Z#U3u$R}?H#R?Wx4vxe z9J@dO_*d5Nvj1`kAGvrS5HJLG>;myb9R(~5;g!ciMb0_GyhBc6v=iZ|^O;4@IuQyw zPOG9mp+kIPin#exYsa*I$^JhW`A^AyhyB|%3GjnKN6P~X1E#=wrAl!E-yaD(JWkUp z-=0ijmTyQb__^LzxJGPBUqPcYLMAc{C%*D*oK+juz`d_aAr3h~?^;t65Z692p0Z@W zlLkM&V>a8V-KUe3j*gx1EeSBZvOvoG^TKMC3|PD*yo5*N&IEI5xNP_A z%EwhpJy!oV^SS=+n-wcN@EPK)Xu;PbtY$nFH?>zt`N&>B1mYOTtP{Q$>qj>48XIWL zbdPlr)ITIs<|3z4jI3URV8Bx2X?O$`Z=X8(uBU$$Ce%bNPMF^7gAI^vmQPD*Sk5Am zX=<%_nyS~g&ggb`x3A4UhMo<|Ia@T^;9oRFaQC>RTPjE4{D84cQ_I!g&Nl{UzCJDG zX%~Z2+a4!OUl6JfhM5sgo`Z*{#NL)(LP;fCpWX_sSf-5(VicQ+xTZ9Cxmj}!0_%HObimDz=BwcRw zRQaZ9gfh?Bx+786mB7%y!WbZjjk<_&ckDWdKC}ro_mxLkAJitD!JakHNpC437_7x_v*)uNLmN@f74^Z_9eE z9W4OV|BNkmx}YyXB-JtF{ecUAl=6BZq&Ua7*)$g{-Md!-Vh7{y^=g|dScn-jTu(Wh zXp{U(Y8d8p=lQjO39XW4j1MMms&o=7qlMk-T()qjzr!da{uEsHB0A{hE1xwo6Os-) z;OCdYnh%lREC$q2h81M8%Qf2b1ePZMv%!fNsns8j5U2{4Qa>PxcfyFi8*xy>pJ5sn z;WuVH*gIz^>ul~wDM#yJy;-Y@93WMpU=nzcSUzRr@6X%ssNd!;&Re%3UeUAYG$#*< zhwpqY6x2;+U&mnChM`mJ8?$j$7yUHFHSSq=#J}z6WT7}pNcTAmhk)O9du)zu zTTj2|^S}F8nIubhEUHwi83pTEj42-sZnPDs?JK{Y;@*5F8})@A&V3Y+A5X96e3{}> zH)zyp)v_pWy(^*52XbdPnBniXM12qwH2rZJ?68kc8p>FMGlNoU8d;-p^T2hwZiIkft@y4U<> zFO>WwzF#mk)n`r6^lNI?jchoZyP6F%Hv463vx9gAULD$DJPy;9Bl&3J26Xw;W zcuCUSeu|xHH|s*ruugDKuX5ClSQeO;JLqKYZGmzYa193@p6DNg-qN#X)gG6mIQ&D>`aFF!9A`y} z5NM;U5&G}-Zn50qZaWz%g~bUn!#!)I*A=KEMkqRx)+AjS5FzzT^i8T}5GKv2QL*Yt z0Riktq zI#^|Jf+=6tJMO2|qUM$daY=~99?t;ope;ESpe=HjH~c4S{0hG5+O8FwG^radEKUVf J{zML${{&siwd()? literal 0 HcmV?d00001 -- Gitee From 529a911ab96a3461ca2d3f84c02fc3519de90bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Sat, 3 Sep 2022 10:06:32 +0000 Subject: [PATCH 14/19] update ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../cv/MNN-LANENET_ID1251_for_ACL/README.md | 189 +++++++++--------- 1 file changed, 95 insertions(+), 94 deletions(-) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md index 285a1b468..f7bbc58d2 100644 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md @@ -1,138 +1,139 @@ -## 模型功能 - +## 模型功能 + 车道线检测 - - - -## pb模型 -``` - -python3.7 ckpt2pb.py -``` -convert_ckpt_into_pb_file()函数,pb模型 PATH=./pretrained_model/eval.pb - -ckpt:链接:https://pan.baidu.com/s/1E6W7OHgIvi-B3TPRDl6OhA?pwd=6666 -提取码:6666 + +## pb模型 + +``` + +python3.7 ckpt2pb.py +``` + +convert_ckpt_into_pb_file()函数,pb模型 PATH=./pretrained_model/eval.pb + +ckpt:链接:https://pan.baidu.com/s/1E6W7OHgIvi-B3TPRDl6OhA?pwd=6666 +提取码:6666 -## om模型 - +## om模型 + 使用ATC模型转换工具进行模型转换时可以参考如下指令: - - -``` - + + +``` + atc --model=/usr/pb2om/eval.pb - - --framework=3 - - --output=/usr/pb2om/frozen - - --soc_version=Ascend910 - - out_nodes="lanenet/binary_seg_out:0;lanenet/instance_seg_out:0" - - --input_shape="input_tensor:1,256,512,3" - - --input_format=NHWC + + --framework=3 + + --output=/usr/pb2om/frozen + + --soc_version=Ascend910 + + out_nodes="lanenet/binary_seg_out:0;lanenet/instance_seg_out:0" + + --input_shape="input_tensor:1,256,512,3" + + --input_format=NHWC ``` - - + + ## 使用msame工具推理 - - -参考 https://gitee.com/ascend/tools/tree/master/msame, 获取msame推理工具及使用方法。 - + + +参考 https://gitee.com/ascend/tools/tree/master/msame, 获取msame推理工具及使用方法。 + 获取到msame可执行文件之后,进行推理测试。 - - -## 数据集转换bin -``` - -python3.7 eval_pb.py -``` - + +## 数据集转换bin + +``` + +python3.7 eval_pb.py +``` + freeze_graph_test()函数 img_feed转test_img.bin ## 推理测试 - - + + 使用msame推理工具,参考如下命令,发起推理测试: - - -``` - -./msame --model "/home/test_user05/pb2om/frozen.om" - - --input "/home/test_user05/pb2om/test_img.bin" - - --output "/home/test_user05/pb2om/" - - --outfmt BIN - - --loop 1 -``` - - -## 脚本和示例代码 - -输入数据:链接:https://pan.baidu.com/s/1bwZR3FfhP18mLMa44781Gw?pwd=0000 -提取码:0000 -├── eval_data + + +``` + +./msame --model "/home/test_user05/pb2om/frozen.om" + + --input "/home/test_user05/pb2om/test_img.bin" + + --output "/home/test_user05/pb2om/" + + --outfmt BIN + + --loop 1 +``` + + +## 脚本和示例代码 + +输入数据:链接:https://pan.baidu.com/s/1bwZR3FfhP18mLMa44781Gw?pwd=0000 +提取码:0000 + +├── eval_data 1.pb预测 -├── eval_pb.py //主代码 - -├── lanenet_model - +├── eval_pb.py //主代码 + +├── lanenet_model + ├── lanenet.py //LANENET模型 ├── README.md //代码说明文档 -2.om预测 +2.om预测 + +├── eval_om.py //主代码 + +├── lanenet_model + + ├── lanenet.py //LANENET模型 + +├── README.md //代码说明文档 -├── eval_om.py //主代码 - -├── lanenet_model - - ├── lanenet.py //LANENET模型 - -├── README.md //代码说明文档 - 3.ckpt转pb -├── ckpt2pb.py - +├── ckpt2pb.py + ##推理输出计算精度 - -``` - -python3.7 eval_om.py + +``` + +python3.7 eval_om.py ``` ## 推理精度 -定量指标采用准确率,精度为0.965,精度达标。 +定量指标采用准确率,精度为0.965,精度达标。 定性指标采用论文中可视化binary segmentation和instance segmentation,输出在eval_output下 | gpu | npu |原论文 |推理 | |-------|------|-------|-------| -| 96.5 | 96.5 | 96.4 |96.5 | - - - -## 推理性能 +| 96.5 | 96.5 | 96.4 |96.5 | + + + +## 推理性能 inference time.jpg,性能达标 \ No newline at end of file -- Gitee From 48076cca1606292c235ebf04cab5de8115ea8e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Mon, 5 Sep 2022 12:51:48 +0000 Subject: [PATCH 15/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20AC?= =?UTF-8?q?L=5FTensorFlow/contrib/cv/MNN-LANENET=5FID1251=5Ffor=5FACL/=5F?= =?UTF-8?q?=5Fpycache=5F=5F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/.keep | 0 .../lanenet_postprocess.cpython-37.pyc | Bin 10205 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/.keep delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/lanenet_postprocess.cpython-37.pyc diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/lanenet_postprocess.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/__pycache__/lanenet_postprocess.cpython-37.pyc deleted file mode 100644 index 6a76b7b5d8e296bdcaaac49170e062ad752e031b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10205 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 Date: Mon, 5 Sep 2022 12:52:04 +0000 Subject: [PATCH 16/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20AC?= =?UTF-8?q?L=5FTensorFlow/contrib/cv/MNN-LANENET=5FID1251=5Ffor=5FACL/conf?= =?UTF-8?q?ig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/tusimple_lanenet.yaml | 125 ------------------ 1 file changed, 125 deletions(-) delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/config/tusimple_lanenet.yaml diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/config/tusimple_lanenet.yaml b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/config/tusimple_lanenet.yaml deleted file mode 100644 index 460e2177f..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/config/tusimple_lanenet.yaml +++ /dev/null @@ -1,125 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -AUG: - RESIZE_METHOD: 'stepscaling' # choice unpadding rangescaling and stepscaling - FIX_RESIZE_SIZE: [720, 720] # (width, height), for unpadding - INF_RESIZE_VALUE: 500 # for rangescaling - MAX_RESIZE_VALUE: 600 # for rangescaling - MIN_RESIZE_VALUE: 400 # for rangescaling - MAX_SCALE_FACTOR: 2.0 # for stepscaling - MIN_SCALE_FACTOR: 0.75 # for stepscaling - SCALE_STEP_SIZE: 0.25 # for stepscaling - TRAIN_CROP_SIZE: [512, 256] # crop size for training - EVAL_CROP_SIZE: [512, 256] # crop size for evaluating - CROP_PAD_SIZE: 32 - MIRROR: True - FLIP: False - FLIP_RATIO: 0.5 - RICH_CROP: - ENABLE: False - BLUR: True - BLUR_RATIO: 0.2 - MAX_ROTATION: 15 - MIN_AREA_RATIO: 0.5 - ASPECT_RATIO: 0.5 - BRIGHTNESS_JITTER_RATIO: 0.5 - CONTRAST_JITTER_RATIO: 0.5 - SATURATION_JITTER_RATIO: 0.5 -DATASET: - DATA_DIR: 'REPO_ROOT_PATH/data/training_data_example/' - IMAGE_TYPE: 'rgb' # choice rgb or rgba - NUM_CLASSES: 2 - TEST_FILE_LIST: 'REPO_ROOT_PATH/data/training_data_example/test.txt' - TRAIN_FILE_LIST: 'REPO_ROOT_PATH/data/training_data_example/train.txt' - VAL_FILE_LIST: 'REPO_ROOT_PATH/data/training_data_example/val.txt' - IGNORE_INDEX: 255 - PADDING_VALUE: [127.5, 127.5, 127.5] - MEAN_VALUE: [0.5, 0.5, 0.5] - STD_VALUE: [0.5, 0.5, 0.5] - CPU_MULTI_PROCESS_NUMS: 8 -FREEZE: - MODEL_FILENAME: 'model' - PARAMS_FILENAME: 'params' -MODEL: - MODEL_NAME: 'lanenet' - FRONT_END: 'bisenetv2' -# FRONT_END: 'vgg' - EMBEDDING_FEATS_DIMS: 4 - BISENETV2: - GE_EXPAND_RATIO: 6 - SEMANTIC_CHANNEL_LAMBDA: 0.25 - SEGHEAD_CHANNEL_EXPAND_RATIO: 2 -TEST: - TEST_MODEL: 'model/cityscapes/final' -TRAIN: - MODEL_SAVE_DIR: 'model/tusimple/' - TBOARD_SAVE_DIR: 'tboard/tusimple/' - MODEL_PARAMS_CONFIG_FILE_NAME: "model_train_config.json" - RESTORE_FROM_SNAPSHOT: - ENABLE: False - SNAPSHOT_PATH: '' - SNAPSHOT_EPOCH: 8 - BATCH_SIZE: 32 - VAL_BATCH_SIZE: 4 - EPOCH_NUMS: 905 - WARM_UP: - ENABLE: True - EPOCH_NUMS: 8 - FREEZE_BN: - ENABLE: False - COMPUTE_MIOU: - ENABLE: True - EPOCH: 1 - MULTI_GPU: - ENABLE: True - GPU_DEVICES: ['0', '1'] - CHIEF_DEVICE_INDEX: 0 -SOLVER: - LR: 0.001 - LR_POLICY: 'poly' - LR_POLYNOMIAL_POWER: 0.9 - OPTIMIZER: 'sgd' - MOMENTUM: 0.9 - WEIGHT_DECAY: 0.0005 - MOVING_AVE_DECAY: 0.9995 - LOSS_TYPE: 'cross_entropy' - OHEM: - ENABLE: False - SCORE_THRESH: 0.65 - MIN_SAMPLE_NUMS: 65536 -GPU: - GPU_MEMORY_FRACTION: 0.9 - TF_ALLOW_GROWTH: True -POSTPROCESS: - MIN_AREA_THRESHOLD: 100 - DBSCAN_EPS: 0.35 - DBSCAN_MIN_SAMPLES: 1000 -LOG: - SAVE_DIR: './log' - LEVEL: INFO -- Gitee From 84ef12506974e637f54ac916bba8cc25f42f3b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Mon, 5 Sep 2022 12:52:32 +0000 Subject: [PATCH 17/19] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20AC?= =?UTF-8?q?L=5FTensorFlow/contrib/cv/MNN-LANENET=5FID1251=5Ffor=5FACL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cv/MNN-LANENET_ID1251_for_ACL/.keep | 0 .../cv/MNN-LANENET_ID1251_for_ACL/README.md | 139 -- .../cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py | 78 -- .../MNN-LANENET_ID1251_for_ACL/eval_ckpt.py | 190 --- .../eval_ckpt/.keep | 0 .../cv/MNN-LANENET_ID1251_for_ACL/eval_om.py | 79 -- .../eval_output/mask_ckpt.jpg | Bin 18738 -> 0 bytes .../eval_output/mask_om.jpg | Bin 18735 -> 0 bytes .../eval_output/mask_pb.jpg | Bin 18738 -> 0 bytes .../eval_output/src_ckpt.jpg | Bin 210631 -> 0 bytes .../eval_output/src_om.jpg | Bin 210631 -> 0 bytes .../eval_output/src_pb.jpg | Bin 210631 -> 0 bytes ...7\346\234\254\346\226\207\346\241\243.txt" | 0 .../cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py | 169 --- .../inference time.jpg.jpg | Bin 23050 -> 0 bytes .../lanenet_model/__init__.py | 7 - .../__pycache__/__init__.cpython-36.pyc | Bin 128 -> 0 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 132 -> 0 bytes .../__pycache__/lanenet.cpython-36.pyc | Bin 2279 -> 0 bytes .../__pycache__/lanenet.cpython-37.pyc | Bin 2275 -> 0 bytes .../lanenet_back_end.cpython-36.pyc | Bin 5563 -> 0 bytes .../lanenet_back_end.cpython-37.pyc | Bin 5559 -> 0 bytes ...lanenet_discriminative_loss.cpython-36.pyc | Bin 3366 -> 0 bytes ...lanenet_discriminative_loss.cpython-37.pyc | Bin 3357 -> 0 bytes .../lanenet_front_end.cpython-36.pyc | Bin 1300 -> 0 bytes .../lanenet_front_end.cpython-37.pyc | Bin 1296 -> 0 bytes .../lanenet_postprocess.cpython-36.pyc | Bin 10219 -> 0 bytes .../lanenet_postprocess.cpython-37.pyc | Bin 10219 -> 0 bytes .../lanenet_model/lanenet.py | 111 -- .../lanenet_model/lanenet_back_end.py | 231 ---- .../lanenet_discriminative_loss.py | 162 --- .../lanenet_model/lanenet_front_end.py | 67 - .../lanenet_model/lanenet_postprocess.py | 463 ------- .../lanenet_postprocess.py | 463 ------- .../local_utils/config_utils/__init__.py | 7 - .../__pycache__/__init__.cpython-36.pyc | Bin 139 -> 0 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 143 -> 0 bytes .../parse_config_utils.cpython-36.pyc | Bin 5949 -> 0 bytes .../parse_config_utils.cpython-37.pyc | Bin 5912 -> 0 bytes .../config_utils/parse_config_utils.py | 245 ---- .../local_utils/log_util/__init__.py | 10 - .../__pycache__/__init__.cpython-37.pyc | Bin 171 -> 0 bytes .../__pycache__/init_logger.cpython-37.pyc | Bin 979 -> 0 bytes .../local_utils/log_util/init_logger.py | 68 - .../metric_ckpt.jpg | Bin 2247 -> 0 bytes .../MNN-LANENET_ID1251_for_ACL/metric_om.jpg | Bin 2978 -> 0 bytes .../MNN-LANENET_ID1251_for_ACL/metric_pb.jpg | Bin 2135 -> 0 bytes .../semantic_segmentation_zoo/__init__.py | 7 - .../__pycache__/__init__.cpython-36.pyc | Bin 140 -> 0 bytes .../__pycache__/__init__.cpython-37.pyc | Bin 144 -> 0 bytes .../__pycache__/bisenet_v2.cpython-36.pyc | Bin 23743 -> 0 bytes .../__pycache__/bisenet_v2.cpython-37.pyc | Bin 23682 -> 0 bytes .../__pycache__/cnn_basenet.cpython-36.pyc | Bin 14450 -> 0 bytes .../__pycache__/cnn_basenet.cpython-37.pyc | Bin 14427 -> 0 bytes .../vgg16_based_fcn.cpython-36.pyc | Bin 7138 -> 0 bytes .../vgg16_based_fcn.cpython-37.pyc | Bin 7123 -> 0 bytes .../semantic_segmentation_zoo/bisenet_v2.py | 1119 ----------------- .../semantic_segmentation_zoo/cnn_basenet.py | 549 -------- .../vgg16_based_fcn.py | 394 ------ 59 files changed, 4558 deletions(-) delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt/.keep delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_ckpt.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_om.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_pb.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/src_ckpt.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/src_om.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/src_pb.jpg delete mode 100644 "ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/inference time.jpg.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__init__.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_back_end.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_back_end.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_front_end.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_front_end.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_postprocess.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_postprocess.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_back_end.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_discriminative_loss.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_front_end.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_postprocess.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_postprocess.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__init__.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/parse_config_utils.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__init__.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/__init__.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/init_logger.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/init_logger.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_ckpt.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_om.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_pb.jpg delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__init__.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/bisenet_v2.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/bisenet_v2.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/cnn_basenet.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/cnn_basenet.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/vgg16_based_fcn.cpython-36.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/vgg16_based_fcn.cpython-37.pyc delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/bisenet_v2.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/cnn_basenet.py delete mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/vgg16_based_fcn.py diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md deleted file mode 100644 index f7bbc58d2..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md +++ /dev/null @@ -1,139 +0,0 @@ -## 模型功能 - - 车道线检测 - - - - -## pb模型 - -``` - -python3.7 ckpt2pb.py -``` - -convert_ckpt_into_pb_file()函数,pb模型 PATH=./pretrained_model/eval.pb - -ckpt:链接:https://pan.baidu.com/s/1E6W7OHgIvi-B3TPRDl6OhA?pwd=6666 -提取码:6666 - - -## om模型 - - -使用ATC模型转换工具进行模型转换时可以参考如下指令: - - -``` - -atc --model=/usr/pb2om/eval.pb - - --framework=3 - - --output=/usr/pb2om/frozen - - --soc_version=Ascend910 - - out_nodes="lanenet/binary_seg_out:0;lanenet/instance_seg_out:0" - - --input_shape="input_tensor:1,256,512,3" - - --input_format=NHWC -``` - - - -## 使用msame工具推理 - - -参考 https://gitee.com/ascend/tools/tree/master/msame, 获取msame推理工具及使用方法。 - -获取到msame可执行文件之后,进行推理测试。 - - - -## 数据集转换bin - -``` - -python3.7 eval_pb.py -``` - -freeze_graph_test()函数 img_feed转test_img.bin - -## 推理测试 - - -使用msame推理工具,参考如下命令,发起推理测试: - - -``` - -./msame --model "/home/test_user05/pb2om/frozen.om" - - --input "/home/test_user05/pb2om/test_img.bin" - - --output "/home/test_user05/pb2om/" - - --outfmt BIN - - --loop 1 -``` - - -## 脚本和示例代码 - -输入数据:链接:https://pan.baidu.com/s/1bwZR3FfhP18mLMa44781Gw?pwd=0000 -提取码:0000 - -├── eval_data - -1.pb预测 - -├── eval_pb.py //主代码 - -├── lanenet_model - - ├── lanenet.py //LANENET模型 - -├── README.md //代码说明文档 - - - -2.om预测 - -├── eval_om.py //主代码 - -├── lanenet_model - - ├── lanenet.py //LANENET模型 - -├── README.md //代码说明文档 - - - -3.ckpt转pb - -├── ckpt2pb.py - - - -##推理输出计算精度 - -``` - -python3.7 eval_om.py -``` - -## 推理精度 -定量指标采用准确率,精度为0.965,精度达标。 -定性指标采用论文中可视化binary segmentation和instance segmentation,输出在eval_output下 - -| gpu | npu |原论文 |推理 | -|-------|------|-------|-------| -| 96.5 | 96.5 | 96.4 |96.5 | - - - -## 推理性能 -inference time.jpg,性能达标 \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py deleted file mode 100644 index 8710bca83..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py +++ /dev/null @@ -1,78 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Freeze Lanenet model into frozen pb file -""" -from __future__ import absolute_import -from __future__ import division -from __future__ import print_function - -import tensorflow as tf -import os - -os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' - - -def convert_ckpt_into_pb_file(ckpt_file_path, pb_file_path): - """ - - :param ckpt_file_path: - :param pb_file_path: - :return: - """ - with tf.Session() as sess: - - saver = tf.train.import_meta_graph(ckpt_file_path + '.meta', clear_devices=True) - input_graph_def = tf.get_default_graph().as_graph_def() - - binary_seg_node = 'lanenet/binary_seg_out' - instance_seg_node = 'lanenet/instance_seg_out' - - saver.restore(sess, ckpt_file_path) # 恢复图并得到数据 - output_graph_def = tf.graph_util.convert_variables_to_constants( # 模型持久化,将变量值固定 - sess=sess, - input_graph_def=input_graph_def, - output_node_names=['input_tensor', binary_seg_node, instance_seg_node]) - - with tf.gfile.GFile(pb_file_path, "wb") as f: # 保存模型 - f.write(output_graph_def.SerializeToString()) # 序列化输出 - print("%d ops in the final graph." % len(output_graph_def.node)) - - -if __name__ == '__main__': - """ - test code - """ - - ckpt_path = './eval_ckpt/eval.ckpt' - pb_save_path = './pretrained_model/eval.pb' - - convert_ckpt_into_pb_file( - ckpt_file_path=ckpt_path, - pb_file_path=pb_save_path - ) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py deleted file mode 100644 index 993c5719c..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py +++ /dev/null @@ -1,190 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -test LaneNet model on single image -""" -import argparse -import os.path as ops -import time - -import cv2 -import numpy as np -import tensorflow as tf - -from lanenet_model import lanenet -from lanenet_model import lanenet_postprocess -from local_utils.config_utils import parse_config_utils -from local_utils.log_util import init_logger - -CFG = parse_config_utils.lanenet_cfg -LOG = init_logger.get_logger(log_file_name_prefix='lanenet_test') - -gt_path = './eval_data/gt.png' - - -def init_args(): - """ - - :return: - """ - parser = argparse.ArgumentParser() - parser.add_argument('--image_path', default='./eval_data/test_img.jpg', - type=str, help='The image path or the src image save dir') - parser.add_argument('--weights_path', default='./pretrained_model/ckpt/tusimple_lanenet.ckpt', - type=str, help='The model weights path') - parser.add_argument('--with_lane_fit', type=args_str2bool, help='If need to do lane fit', default=False) - - return parser.parse_args() - - -def args_str2bool(arg_value): - """ - - :param arg_value: - :return: - """ - if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): - return True - - elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): - return False - else: - raise argparse.ArgumentTypeError('Unsupported value encountered.') - - -def minmax_scale(input_arr): - """ - - :param input_arr: - :return: - """ - min_val = np.min(input_arr) - max_val = np.max(input_arr) - - output_arr = (input_arr - min_val) * 255.0 / (max_val - min_val) - - return output_arr - - -def test_lanenet(image_path, gt_path, weights_path, with_lane_fit=False): - """ - - :param image_path: - :param weights_path: - :param with_lane_fit: - :return: - """ - assert ops.exists(image_path), '{:s} not exist'.format(image_path) - - LOG.info('Start reading image and preprocessing') - t_start = time.time() - image = cv2.imread(image_path, cv2.IMREAD_COLOR) - image_vis = image - image = cv2.resize(image, (512, 256), interpolation=cv2.INTER_LINEAR) - image = image / 127.5 - 1.0 - LOG.info('Image load complete, cost time: {:.5f}s'.format(time.time() - t_start)) - - input_tensor_0 = tf.placeholder(dtype=tf.float32, shape=[1, 256, 512, 3], name='input_tensor') - input_tensor = tf.identity(input_tensor_0, name='input_tensor') - net = lanenet.LaneNet(phase='test', cfg=CFG) - binary_seg_ret, instance_seg_ret = net.inference(input_tensor=input_tensor, name='LaneNet') - - with tf.variable_scope('lanenet/'): - binary_seg_ret = tf.identity(binary_seg_ret, name='binary_seg_out') - instance_seg_ret = tf.identity(instance_seg_ret, name='instance_seg_out') - - postprocessor = lanenet_postprocess.LaneNetPostProcessor(cfg=CFG) - - sess = tf.Session() - - # define moving average version of the learned variables for eval - with tf.variable_scope(name_or_scope='moving_avg'): - variable_averages = tf.train.ExponentialMovingAverage( - CFG.SOLVER.MOVING_AVE_DECAY) - variables_to_restore = variable_averages.variables_to_restore() - - # define saver - saver = tf.train.Saver(variables_to_restore) - - with sess.as_default(): - saver.restore(sess=sess, save_path=weights_path) - image = np.expand_dims(image, axis=0) - binary_seg_image, instance_seg_image = sess.run( - [binary_seg_ret, instance_seg_ret], - feed_dict={input_tensor: image} - ) - - postprocess_result = postprocessor.postprocess( - binary_seg_result=binary_seg_image[0], - instance_seg_result=instance_seg_image[0], - source_image=image_vis, - with_lane_fit=True, - data_source='tusimple' - ) - mask_image = postprocess_result['mask_image'] - src_image = postprocess_result['source_image'] - - # -------------- 计算准确率 ------------------ # - gt = cv2.imread(gt_path, cv2.IMREAD_COLOR) - gt_trans = cv2.resize(gt, (512, 256), interpolation=cv2.INTER_LINEAR) - - gt_gray = cv2.cvtColor(gt_trans, cv2.COLOR_BGR2GRAY) - mask_image_gray = cv2.cvtColor(mask_image, cv2.COLOR_BGR2GRAY) - WIDTH = mask_image_gray.shape[0] - HIGTH = mask_image_gray.shape[1] - tp_count = 0 - tn_count = 0 - for i in range(WIDTH): - for j in range(HIGTH): - if mask_image_gray[i, j] != 0 and gt_gray[i, j] != 0: - tp_count = tp_count + 1 - if mask_image_gray[i, j] == 0 and gt_gray[i, j] == 0: - tn_count = tn_count + 1 - Accuracy = (int(tp_count) + int(tn_count)) / (int(WIDTH) * int(HIGTH)) - - print("\n# Metric_ckpt " - "\n Accuracy:{:.3f}".format(Accuracy)) - - cv2.imwrite('./eval_output/mask_ckpt.jpg', mask_image) - cv2.imwrite('./eval_output/src_ckpt.jpg', src_image) - - saver.save(sess, './eval_ckpt/eval.ckpt') - - sess.close() - - return - - -if __name__ == '__main__': - """ - test code - """ - # init args - args = init_args() - - test_lanenet(args.image_path, gt_path, args.weights_path, with_lane_fit=args.with_lane_fit) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt/.keep deleted file mode 100644 index e69de29bb..000000000 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py deleted file mode 100644 index 98a8e5373..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import numpy as np -import lanenet_postprocess -from local_utils.config_utils import parse_config_utils -import cv2 - -CFG = parse_config_utils.lanenet_cfg - -image_path = './eval_data/test_img.jpg' -image_vis = cv2.imread(image_path, cv2.IMREAD_COLOR) - -b_out_path = './eval_data/frozen_output_0.bin' -i_out_path = './eval_data/frozen_output_1.bin' -b_out = np.fromfile(b_out_path, dtype=np.int64) -i_out = np.fromfile(i_out_path, dtype=np.float32) -b_out = np.reshape(b_out, (1, 256, 512)) -i_out = np.reshape(i_out, (1, 256, 512, 4)) - -postprocessor = lanenet_postprocess.LaneNetPostProcessor(cfg=CFG) -postprocess_result = postprocessor.postprocess( - binary_seg_result=b_out[0], - instance_seg_result=i_out[0], - source_image=image_vis, - with_lane_fit=True, - data_source='tusimple' - ) -mask_image = postprocess_result['mask_image'] -src_image = postprocess_result['source_image'] -gt_path = './eval_data/gt.png' -gt = cv2.imread(gt_path, cv2.IMREAD_COLOR) -gt_trans = cv2.resize(gt, (512, 256), interpolation=cv2.INTER_LINEAR) - -# -------------- 计算准确率 ------------------ # -gt_gray = cv2.cvtColor(gt_trans, cv2.COLOR_BGR2GRAY) -mask_image_gray = cv2.cvtColor(mask_image, cv2.COLOR_BGR2GRAY) -WIDTH = mask_image_gray.shape[0] -HIGTH = mask_image_gray.shape[1] -tp_count = 0 -tn_count = 0 -for i in range(WIDTH): - for j in range(HIGTH): - if mask_image_gray[i, j] != 0 and gt_gray[i, j] != 0: - tp_count = tp_count + 1 - if mask_image_gray[i, j] == 0 and gt_gray[i, j] == 0: - tn_count = tn_count + 1 -Accuracy = (int(tp_count) + int(tn_count)) / (int(WIDTH) * int(HIGTH)) - -print("\n# Metric_om " - "\n Accuracy:{:.3f}".format(Accuracy)) - -cv2.imwrite('./eval_output/mask_om.jpg', mask_image) -cv2.imwrite('./eval_output/src_om.jpg', src_image) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_ckpt.jpg b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_output/mask_ckpt.jpg deleted file mode 100644 index 542377b777fb0a06303a3b0d0c0d2204581dbc66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18738 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 jW*m&POP7q)*52)DUB2yp<2#7);qlk!Can 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%0A1fu1?bIy`~6+L|)vir2D z>PF2MQdroTuhYL5?LdyVe^0|9v(>UD*2;;dEn1R!r{G753pA2DO3bT9C=z2m3U_f|$m&5pfSn@`$$V(BTo25SbP)=eX0akjTVMnU9w}lI$phB7g{v>-U!l z3-DwkA3;^s&{cGE^%S~3xh>aE6kCUn_X9%*M%x8p?{*B+K0H>|0YHQr zSIR2w8ob~;{+5fn?aC&>Qd=~FOI;lhx+<579&ON0p0(7#YK*#d zVG&e9?knJUkd$wT8<63C0`!4@4gu$X=ZM&@H^tDbA|eevj;Gn@XC7)&WIig@DV7Rg>t z%zW3tD;sSRp;?NH@A3+hv@NKd>t?G-H}oIj=Sc-4iHr% z=)k^fB>^6~b$Ci9=@E*u^B?U?q>0#&lX{_~&5#d=NJ%1^tt|ZNjD#qjW{WdI4&0GF z-vstED!>fSMSu4RAYdrJ5Ar>TqfO=ht)vy;m#Dh(F-hwQymki1DKFutZS{5XHiAH& z{RI3h3$VZwJqK(VMa~i1ePos!IIa`=R94CY+}S1g)g{Ya zhYMV^dcfHpDur)Y**3}vHh%&X1Z;jqckSfCMTCfKw`F2o3L-N31=L_UPoG^$L7l2! z{?iJ~OQXbe!aD^UCB*HvTo-ahB0qoUWUfT=!WZbDj3|V`JHSGze0Qpfy4L>H0wte~ zfM@G|XqD%#+@Favsr~ayo>bSb!$xE6LN}*~@oK6os%p}`EBm5t-)Da|%&|Lh>d3X} zBadvxBu>IXjvRHlEYVq+XEPT}eWFr%(8SWac;krN*`K7w(pQ>fSlq!qe~PlzZ{HL` z9&8@kbL#f4$$5J$mlxClO4qxAY* zQ?rdlLITzz`ZlcyESqn!qG695)^y`@?H9H~mNzIVCp-O%#SOm;z4LAtKQUo)-|ffO zf0dP+D7y#A`wBXz@VkcanXSA|3nP#Z1}YHf;kL%G=%qz3e8~DEV?xuVr=5h!oBw57 z#P~BN-v8th9O73o zg04i9*4mr5kuN}wyF(%VBV&Z0Y;6vj^EbxZVKCY!NVM1B*x4JYi>qAfLXouz`&fp4 zF%p=gbY1qXAn1h#axR1UU=^Vck?*e-9#b$4ip8zD3o!X)U>m=vm6(W;NRY-{-fRJV zN>L^+A{)&b&a8>h?DT(NRd?enPcn1 z__LdzVP#SC3F(CbcBeYs9eJlqrtf60(`G?t6P27awlv)j8RrEa5zQ9Gfa-Xwfat+? z!!z(BIzmyFJ-OmrYzm$`Z=1wy{eRvI{dcGhfS1skn+ff)OG9pWrLM;sWoOf-dBorC zz@H=E_hKBdF>o?v89{{=B}?*2V-rWR1_G|rCGm7Vm})-0{N=TVn@p!D7=PaBbO+SMSRsRx)&aAxy=G+@_$_7Y$?x9P z4St(QW};ckYB;gnY_CE5opuA*mCK4P#LJko(=tTxcxcow) zS>103NG#7t!|@c==jmGjOGPd$X4iaTXA9;FL&cB$)&#zGi9UeF&0n;G9;RMGB~N#H z&2*j?oxf)v#i9troP5z|>QW61=QLGD1hHPLp7G#_#`blCE6xJH4ymxEm8>vVFhge3 ziL!U>muR$WnOfzhD)>df%CcEr$&5zID^kK1r8};L@aA29CVI6+q8SdRPzQ-8aW=GJ!=x%?h;_@h-fEPa|$xd0r{-s1Xb%Q$FDagv++e zG&czYt?+f;)ZrFZzSc!(9E{cKo=(S3mpB9q4^ZP3-ynfnXi!d?q;)47`EBR);Jup3 zz8ux@@bV#USG;ju>UZRCVV7U2NUq=MhwujKh{#m(_X07P@D^(&4Al2zKVrsZnKC(( zGHrp?=nEpdtE?sX(4D+AVTt?SaO^2v+7=!R0G;cpB&cPJ`pXbrLYbymI=csfr9QF_ zZy@fN+C_K)UwrMJiV|ZMe2e=z<_AG%>)~bp4vcUy1DSa1iNhC%XK9ClD+4R3I?q1y z)m$HMA2}SXvZpxR<6&)zWk^qata_GUt76Oq9CWETkMQT~!0>1v4-+m<4#PkvbcBMs8=wjd!DjmM`#5lIy2UQB>1m@b<(#_a>*~@$clJyGO$sF zE%m_#x%*nh!nFjYWXwItzvo*3=p1|RQU?aok8<{qlQ+k;=`izDqtJGVG+y2IM@DNj zN`4_=LwL46&-Uh8gVv+P@0m}(PxwHy#4}6uM%N;KFkuhRgZ#B zB7{D&^+4+2{Zu<9nAbBCB{DQp&p|Cd8o-+wYvo52?-c*xLcUR&(wDcM0Lt^jCm=;HQ%gER{hloaZ=NKn?F5$F7>S;4jCwMxXxOs2fS; zK#*-W1`A{oY zVukmu071prX#oH^bMLRaTotsW!`~%{NyM2Rr;ON!gTKy5FgQM4#(Y_Y@6+k!X$_)l zW7==LNjd#Y*K38s2QRx^-u6wobOk`aJg$57Bt~5>84}Q&C@CB#Amd#vQlCAy&Oavj zaBS)mPbK3%H7Mq)np9D&4tgvP;2)qJqWSw5h9<9lkL94pugY9w4bM}&h`zXovPrPd zlj`L~_+0b|xySSr?AuI}*~oAM=*Sz`U>CT04jA|fZuuwCPjEnSFHwjORah;PeMmZW z^BkX{02WVf$f0{&8|nLmo#`xM@w_}Mw+b-2Zzf)!w98DFXSwa9Di>wgjLfjf({J*z z_94X-6a!EF=Qyc?`M9NeRry z{=a_UjJ0#ep|Yhf=P-zQmmz)-Hzdd|_$1ar$?vt)GMY68@`;=hpU7&YuYxb^XQtSi zGmd8aY388&etWwLIvv?A(X&#>E6l<{(H)ipej3U3`bQjC`+qk8#=e%abzI$Md?^3E zkwh9i{uqPPYhNNuu>`k6RT>H86MLHa$6fXOc;GoFQ3A~3mkA@(AtV;ut&h=V?Jgjz zZwz}6h{d9FUp2Uh0e=~=9x8S{g*_{i1FL-}-~#k4DvLHtRS#g4%E;mtmBCHm>vsu! z-QomC`xliWW6nlbc6xmwcYGZKtH|o>EK1te9@)mG@yj+UgHb)13HZDW8Swd5xUTQs zrD7O`j)MF>!pNIDJ*Tk%ywTuP_C~P;-!Evx58b-M1)*#o$;n>)ih@6YLOkrPfj;Hw z?2palU~H^H>oKdMQ_hx@(D>70Sap1%U`$94r%B(izZ{}m zKM5$F`+h`XZIaP-JC86o@h~w9-#$v>uhSFmbsmejBbLdt8KwqHqyQ?{oapVz5!1SO zK@IdUGrwKLHoP+d@1|NZ#kGlVoyF5Sb+3q2j$+TAIE|bsOHOAy59}QtJ510DUIS?EJfn$_6zs z&C8chxf1WsUiv?ht~)O2{QrB`zA~?}YX`dW=6SjR_+z$NGX-OhE|p) zDyF1V?m?!AE0S-SnIe)qC+E(spdd2(y|~{$_qcjg!sqjTzvgr7Jzac$blvnh((kDW zBhmp)3e1PxYyaclzom{ZZg}{d6)_dNEh^}vP3Y)QQ{N4um6OYKigAEfR;TL+6I@*6 zZ+Z15>enJZj0_w-+qfNN8TxM?@3s3UuX$hKZw~G z!LSyFKR%8cbal6Y!wX0CB@E$=CK2DYJaI;T23YqGe$Tb&{dC^=3&vY=5K0igNLld9XyM;phwV!Td>rV9=R zIC@CW|JP*3BifHaziZ(ZaN(RClnAVYk?#Dd*IZn=w$az;4U(d!H@_TvL7^gR1PGR3 z!tUug*99iB(QLF9_{N?$c(Bn1| ze1B}cg~uL4i{rcJJHY2jGg2}O7mtt(;wVjNI$Gx9;JgOSws{T=UC^h02Rdv*BR8J{ zL)mA;5~Fk-0C?wniaW4O8O3U@bhmza&=qSg!G5?1!f^9AX^x78vOoB5^{MRwd&$Lf z=GY_nZt;P`1$Z5UMZ{~4`NgUyemC|D*i%1#efZhLeo;Y~VtN^Jwu4UOk2m6u#xe`s zUB}hDM@w?EilqYqyQHL!-13mvKN=CF%-ydG2QfXkkT87@Nt)e@@fZnvmO#Ni1{QC; zlQK1yVX7r#5Buzr?Yn8!8UcRMoyz^VqT(L1_q!^gr;W5TxDj?FtD4xzRs2uT{P&F> zsr;M8?$H(j4wmAMa8-A~w4=m6yX)ppnYHYtmg32FH_QFs82rh9q6eq>pvVltgFr2M zJrG40QjO!Mu$;y3zL2VWoNwbkfKA3L*$-zOy`HIYE3hO^(`#^~$LflkBHe2QUc%%v z6E2cf%ETJ`L7i%Q4?=+B)JwO}3V;j{fwRUf0$l49G{>(t9~0=EPr{lwT~Wg;b0X*U z;HyIa?%rQ-10w~UK|!+2jNm<@fL0S@Su#Thw;w4E(SB2%oJaJ{T@HPzY5u}rbf^x>Gvz#d|pFZVLq+b8YG=P6ZVez-t=Ie=~?~&!8 zJq@NtPqekJN%63saU0F*45v9fA3oKm ziIa`eh2V_Rtpi`Q{55;W2b~X?I0tPVlmTCA{0R$A>)3Tif=1rH7kKBjqe=GyhVK%I z#J)5g9qohYoL~;)D8c7?uwzoAGB;gFfc}c!8PzmS#l+y`bi(XA!%%A`twM#(3A~N0 z7q0j9{#4r1qZo1T+@+2EA)Ng-bz$6|XGPG{xE;n1wQv4ewf4F5*g*OIQT0WX4ETTTbpO)zXF#SJp3@?Ym%Oy##{N>OBOkM^6M)~RD6P*mPngK=eiJ5EKSky7KGDJU|y%8k2D|?|&97O|jbH%twn}s$`-^W@+ z>>YDSk#(Hd1tbk>DbGdQH{^>6yR$3+TX~UILj(2n@H)G4u{}mdc%dtT4X43Q*js&| zqwOm{6SYbgc#U`9wtPc=%b`R>&S#>Q-GXfP%8uGY!f`d>2?eMfV(R< zlK5a}&k{_ZZywhPQiU${h$rms!n{$cjwc27$2Sj;DsbR28)acy3BKg32`fFW2(YTR|xfMKkbq1gxxtgpU0 zXnksjOi0mE0^sW(0cYvqOw^$LQl?c0?)Zc_te9+bhA6=qep_#wgzm${iap>jA_`xo zyXb!5;b`QeA9QBQvQK2f_07F<<(B`UIKDeha_8H6wePC$62!ks5j}{ULPh_WxuKy{ z@#^F#wfV75(gFJ_DrMieaR0V%>$i|#PG+YEb)816#0jfg=O8telVU~3vXdK;_Y{rF z_0;?QyxqKkWmw%dPC%7HEsqPZY)ZevN-Im~uNVF(GP$W2NWS(iuJMTmarUxkK^(7t zp&E1@{v&i(J;IWvJjpV7ySx&|2^by5tM67jKUv8SUcaKuj>MX{B3!ZX8f(~e3HtJy zIqlqcRZwcmmF1?|#?C5!;2PK=E16+?qlzLkC3ffpeud=X<@pOIVKMZQc1%w9(cxxT z@@XBU1P-OE>xp&-8ms>wzI&* zVcr{`TlrJQ42(R8&0LL#A4G=k(~!U&{t9M}BU-JbfHm|#(Zf@}Ac-&#FS=kX$Vo)7 zs~t1_Y7)N2`?49}5(%daB`x}sfB7~E5|c`GV@Ppm0eP9EVIJcy@Np#Y|8rw*09kj? z=>4%KJ06HhsAoWr4I7JIRUdha5&AR(JC9LxtiR_4{jNUo$JUS^1;^8J5{}J-O?VFb zGZI|T@^2_u!@}pdu4R5CeXx1n#Rpfe*%H<`lBV3raF&ORQGTn=vevOAlb!{Nan zk^ODgstemUA{wmiPEf+XEWiGcRR z^^2gkaEkh@>Zcc?e^>g{Oh%ACTo7i-kulv*iK_l1*?eEC=DY8>!oj7ll7?}?pyk&^ z5e(4oGg^?dDNrJH&srn8alyquWv-$n<2aQ@W7O2FmL<{T_h-$(S5<47z~~ z+k)eDrQN!A46g0PDxuGd%s{Ao9gyu_V7rCIEj9gpM9Q@n7&?%UB2GbZc~y|Kos$9( zy-!Bwb0?GmK3-%&KBJCfW20SV(D9Df6OiuuEtB zOAsG_^$O~APgCtB&g5c)k7k4fI{h)SiN!UL>j}>H-^)tbC-`%oYjR;rqxL*mzvHv> zD4yc;-eS~w8ZV3$Q6&Guwqm^A?%&Fco{nMb0gar_r~p?%#!{=%V+j&9;5XJ{DX;YF^*)j&)tXB-0AV1ioBK# ztMpE zQ-xQG)fS4K#&rfQ+-)xHmxx&TWE0d)pHHa!tC&wKq|Y_Y?B1H?2^Oxv<)_RKNMe&2 z;fART1LqgIZoDoYH@`n4jRRzRnz-{l6Iv98&Vb!ZT1@htoY57BKmvRxu*L5@tON4i;nxKOVDcIM88x#AJX z3>SY0aYW20!{{6g%UjBSJz&}*+}|7YaDoM(=E7Tot{g;9rg?${-9E3Bjz)H4F)G^_ z`dyRq@8F+Y)&6@kqo6iKjt!5+>>?{=uj!WKa-uuQ4;UY$H_l|(1&wW$?{V6bQldhu zNeXmxgN~G6)?uhP{kxz8D4ka%)AR5vpxf9);xDg3^kj+o#IiKycMQcOP(v0hp2 zrakmo6Y+6z?l4zn1TDXkt0wHOWWdU(PvbQfNHoF{y4f5AX#yCBWqf`o27i0sUjy!D z?GohB1Tdfgs~`*56aZWhpEeft)w}E&f=+7Ax)S4;9ozJ3y>s2V4ge5Erm$Qh4A0PM z>0H~^e<7hy6erp*5q3DG(zunK#*CtZz;T=qo%nZ`?8AOWQYq-OMA zr0HXtfXoqba$Q_u$vxW3l$5;)-br5a8?K5_f%pJ(5r&1|s%t^qtYM;?F?@O_AHIl9 zzZl;=Q-K<-Q)OvTer47MUA4$noYn|B=!{$^H2uzSJS?38rZ-WDgmZo1RU8J73+nUP7=hg5a*dgX$G}Vauc=rV!$c zEs8-S{yz?7!Q{3$eybexTJckxyez*au)w>_of6lS_?Z%!yfQY@s7Nb}_UXawV5Xnk zexVv8|6Sb8#^2W+4G}m`k^+FXG0pAJ+0ym!&`%jhcwFQxW{h(z*Bf$+?cN<`qXRc_ z92H&8(WCSM?6C%6$zZ#3oE4P@4ogs5TPY@mhKvgQ&ZNnu$gSo}%b}g7x8w(%tZe+Z zOL=umFvyq?>*n7u>CqD$GgVBQJ@eX-DBIyDiQS6`GbE1B9J4BWZGlmFCMrlo)F{2< zdVH?LBgMMK|EtDm^2%U#`aV%ZoUxMP-tRdnAiHJ0mK zukS#bu_N9eZy2qYjM?Bn`NFt4*J6hR3oV08BtDT2F@! zLztd`k0v`8HQiM239UcuatJt;tk?99ZT`OS*~>1m>tYPz|Gt0!{r4Lt4RRp-(})}+ zd-pYLO<`rIB|&|X8ioB{oTv3=_>kKN74-&h5!J0wyoZO~@aQGxQ;&&~M$@h3BSX{d z%x$-=8jm#2Ml{wdkL}99JCvr3C_b+JZ9yyBW`*r!`Pcj4cL`bpFaJq;c-nc*)0bC0 z?>uQ}jl8vxIzmW7#)b<2iI%NlhUX19%M*^Dia;31tu45^X+KA=UefI*x2X8!)weLz zCO^Z~XCF$dVtj*wK4&^td@7+j;F{&{S!ft&8xV}E**$un4r;X1f()NfW%VwXwO>lM zb@}jWQ^>fk{FM*EjE6eOKkR~Ue#g8lA&oDsyg9M4^@D2Lhm4tFV)%z*5}|J@x+i4? zIn<)}KO>sEvu?n#r#?D9v+DWk=ZatNy+MpEA1{yx{lL-oglf9^ErlnwGE;IpyGi*g z*N5GgoJj&dXkLJZbhdSQcEjg8kw%%R;dJO#2#NND*RmO%8O)5Xw27Ps5rsg*)gSzI zQSE=sGa`>6_3WBf<E6-U804U};vpa5K9bsK&zODCXLm0^3|c_Dbqig~&k~qBa zz}ai*Q^+NEZIq5U(Axg(EAJ;dYBOO@Y@y-oV__Ok5&vjyQ>$d$oO>M)$cx?C|E)!= z0y$`&7%4rGneGuu@f?i)Nf;{ zm+r1$Mj{Ytki>KGuzYkfE|@DpMj1BR+wdI}r*A_XF7zOV#~g{i;6c`LneP(7_TthC=w0Bj^1z>P1$xyAEI9Hhs!r*rHcETWlwEuq zkp$ByEc{IC^5)Q{<&MGcX6#yBDs7l>jZ9F3YItjmGY^KLB^k<3aw*_a>%o0fybsQv zk#f2#5jmM*Rmc{9jhs#Xr4xrS)AUujXMvnfF%1gy39t3_NmPV={V_~2bLS_lo-G?A z9+7&@;(RC8yvD=!woTg68cB`wp20-r{uQ*FGFnrK^2`104WM?&|XRS|V6i+Himn{H9wugcYbkSI=6D|$C zuRzZ#evcAXqa|TP>q6H>r@`|H@W&3n`9*JXb6mmOEY5WzDf-n&l&f6$uI%N~BU+v^z`KgA2Fz z4Rc6eGI7t4MuM

hR*wdP}4=OFLF{I}@&2@b8-yL7ncEnab^>MEDU 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 z z+)^bQ>D@&fAW{-ua819eKrMe zjc`wy0-k=^9-dVFsy%r`(*&M7UF>qm?;qzvR?@olq%&36Rkki*d2@SdAFUBv#D#qr zs!V+l?3d6Y6G*)}1^XI{DmO{7n)IoR^v9bfF;=-3ypLs5X!2GZCvk2>k|f_q(}~1c z_QN!!3&h5V0H6e(!QMOAShq9Z=v;8P2av(`)I1RfjCX%m&=rZXH_i+dS?F7iN5)=& z`*Sx9KPEnOeA4~KuIFuy3?7El{qtN_X;OQv|Mb)Hl~P5}zY^aAd|bmH%U{L|dLp7@ zJP3-)-WX1wbU8}UUJB=SG6tN8oQX5^?Tq1ywk+9`X2djVzIj_(a-S?|)DV5ZuQP7h!@JC1{W&&060~m~v5%(ZUTDOJ1tv>6ykJ0<3{TGxv>^}2^B}i9o z*#hZdjm_v4hwlnacjsXkP`3aUgtsM@h*rvMLsXcryxkNd9f)Duws%(?&MbH~$(Prj zt*ra5@Z;V^=c0rm)~{C_YdWOVa;$(;t74q)`X#y1J7(Z734T-m;2WmlqGIo^MVq1a ze?}s;1NHH?f1gO`snb~@zz>-B?2SVYo)3W9u*`Xqx4`QO6GlZsRVrC_J$EO!`_sEn z?6U=4zd&e@yp5knS46a8D}{7%0AZgDUGyNr=WClyeM&}83d6z!LU7b*QEi<8(*3`w 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%0A1fu1?bIy`~6+L|)vir2D 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

hR*wdP}4=OFLF{I}@&2@b8-yL7ncEnab^>MEDU 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 z z+)^bQ>D@&fAW{-ua819eKrMe zjc`wy0-k=^9-dVFsy%r`(*&M7UF>qm?;qzvR?@olq%&36Rkki*d2@SdAFUBv#D#qr zs!V+l?3d6Y6G*)}1^XI{DmO{7n)IoR^v9bfF;=-3ypLs5X!2GZCvk2>k|f_q(}~1c z_QN!!3&h5V0H6e(!QMOAShq9Z=v;8P2av(`)I1RfjCX%m&=rZXH_i+dS?F7iN5)=& z`*Sx9KPEnOeA4~KuIFuy3?7El{qtN_X;OQv|Mb)Hl~P5}zY^aAd|bmH%U{L|dLp7@ zJP3-)-WX1wbU8}UUJB=SG6tN8oQX5^?Tq1ywk+9`X2djVzIj_(a-S?|)DV5ZuQP7h!@JC1{W&&060~m~v5%(ZUTDOJ1tv>6ykJ0<3{TGxv>^}2^B}i9o z*#hZdjm_v4hwlnacjsXkP`3aUgtsM@h*rvMLsXcryxkNd9f)Duws%(?&MbH~$(Prj zt*ra5@Z;V^=c0rm)~{C_YdWOVa;$(;t74q)`X#y1J7(Z734T-m;2WmlqGIo^MVq1a ze?}s;1NHH?f1gO`snb~@zz>-B?2SVYo)3W9u*`Xqx4`QO6GlZsRVrC_J$EO!`_sEn z?6U=4zd&e@yp5knS46a8D}{7%0AZgDUGyNr=WClyeM&}83d6z!LU7b*QEi<8(*3`w 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%0A1fu1?bIy`~6+L|)vir2D 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

hR*wdP}4=OFLF{I}@&2@b8-yL7ncEnab^>MEDU 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 z z+)^bQ>D@&fAW{-ua819eKrMe zjc`wy0-k=^9-dVFsy%r`(*&M7UF>qm?;qzvR?@olq%&36Rkki*d2@SdAFUBv#D#qr zs!V+l?3d6Y6G*)}1^XI{DmO{7n)IoR^v9bfF;=-3ypLs5X!2GZCvk2>k|f_q(}~1c z_QN!!3&h5V0H6e(!QMOAShq9Z=v;8P2av(`)I1RfjCX%m&=rZXH_i+dS?F7iN5)=& z`*Sx9KPEnOeA4~KuIFuy3?7El{qtN_X;OQv|Mb)Hl~P5}zY^aAd|bmH%U{L|dLp7@ zJP3-)-WX1wbU8}UUJB=SG6tN8oQX5^?Tq1ywk+9`X2djVzIj_(a-S?|)DV5ZuQP7h!@JC1{W&&060~m~v5%(ZUTDOJ1tv>6ykJ0<3{TGxv>^}2^B}i9o z*#hZdjm_v4hwlnacjsXkP`3aUgtsM@h*rvMLsXcryxkNd9f)Duws%(?&MbH~$(Prj zt*ra5@Z;V^=c0rm)~{C_YdWOVa;$(;t74q)`X#y1J7(Z734T-m;2WmlqGIo^MVq1a ze?}s;1NHH?f1gO`snb~@zz>-B?2SVYo)3W9u*`Xqx4`QO6GlZsRVrC_J$EO!`_sEn z?6U=4zd&e@yp5knS46a8D}{7%0AZgDUGyNr=WClyeM&}83d6z!LU7b*QEi<8(*3`w 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 SnW9sd33yW$Stjh)kN*JaXvo6= diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__init__.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__init__.py deleted file mode 100644 index 7b141554e..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# @Time : 18-5-11 上午11:32 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/lanenet-lane-detection -# @File : __init__.py.py -# @IDE: PyCharm Community Edition \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index 77ca079f0ab993eb7545e2bc652041fe1438e91b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128 zcmXr!<>k5y zUl5a8mY7qTSdto(lbDy9ms%2^o1c=J6B8ewnU`4-AFo$Xd5gmaC{~)2Y6mi=7>F4F D#f=|+ diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index b23f66e6511832f46bab5007f45b3af5baf24bfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmZ?b<>g`kf{U^9lRg6J#~=<2FajA4KwQiMBvKfH88jLFRx%WUgb~CqT^Fkum(=3y zlKg_0)Uw2!(!`R~n4HAC)V$P^_}u)I)SQ_3_{_Y_lK6PNg34PQHbAk`oK!oIF`t2$ F0RYh{APoQj diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet.cpython-36.pyc deleted file mode 100644 index 34ed121c504cb0076efe3b417af9bfc0426a7cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2279 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 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-36.pyc deleted file mode 100644 index f3fff695c3722f4514b2fc7d44ab5e691edd1513..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3366 zcmai0OONBY5f&xcvSqu+?S4OIR=WuTI0(>&H$01VpWkWl2sq8^rF}E|MBO)j{mS@ zS^u;)9vl2?d_@4lt&znUw^KH#)rIURqAq%=Z76@qsvfweYO9XwEuCr$ zlBb9=)#d(@EIonLQcqL|d>=en_ElfCmo^;1xbv-3Z5!RTBHP4w)HZk3HY}3V1;-56 zRNJeS2GDzIpt_hrd`}H9hPW+7)KRoE*jx2K!47(ynX~Pn2Qp`>XXIVTOzog`&} zp3of9`Oxiv-vdw9`f6`UJ8pbySNo8+IeF0KO~?n}25Mg&VEiHY9kr(p!5@KdtE2mq z9z*uIry5x482u!7)GsWOX`m0kBT=cV=0BfQLWESqhvP{n4d)h81+LOXKS`QXk^3_6wS4nvh#`z*E3+={HQEG3J=27|Lr`j!&8=-d>S&_?9 z@Nku(!eTMg4o@z1a~hQwLTWe5IY8W*~8BV=Cac9xf+z>HLP$9bNLC<|v%@lJPE(`V2OKhgdJrm)~9 zRCQ+qkh-&hGVQIfv}U+&-$MWvO>8J^Yc*ms>aASHLt0VyR*o}fvE7xJaNVrkIO=7K zS-8F}#i+OP8+j0(vuBG@d$tJ0*Yhajy0u1$Zlnan(Exo(2EgLvmzX2PeAIz%jL}B$ zAn;@|8SR*1GhFDX6k&MDec7=jVdriZ##EC=*B=;Vg$=?{LF59|znagavE^FCc zdlzyS<48~Ae4DJa=(YQ{{0S`I7t=!sK0dlZ#lJw1fbDOrs(owSvRnJsxpi+Fx6NDc zwl!&+dfuvhBx@=RHq~|Rp}ciI&`<$=JcbI)V-1y22c^}&v+i0bdtDT$E#8=VOXu9H zp5X0Q+tr}jsh+4lN}W~p)wXH3)xfj^wPRW;cn#G@*`PwwFy)krTEi4gDrF56I#wN^ z;O$WnGlimc^V+ZTm=s9aC<2dz5>T)LAT3DBA}BAU5J8;J<~ibA)_E-U;4*rsb@6?P zuh<8{noKo8%})mXfGp|n$Nr+uWR9d6K$R$P*-aK2dH^0(7u^^~WqhGq`2zI@d(a+n zxDU0;VAQC9Qq2;B$(np_jK+D!6WR#nI*Z+W`uJQm2w$c-fL*+LPNVP7(ZK}51OD-> zA_FNYHq9gJ&N9@wbMNdscIVwS?wZT?xm$Tvt7=!ivgy3aL&>+5WB3+$N4bW_&rs#6 zhT-wsR5g@^Up9hBZzjL0bwy6Up_=s4%s zDa3*(pVjFP3D8H%#B0kp7(Z-iFARAehoScCnt^(M jWujs7q#0EM!Jy#*60MiW^NUoxqT5o?p9NB^(|Y?q_8z7V diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_discriminative_loss.cpython-37.pyc deleted file mode 100644 index 4fc09df2e73a044ea1003b24482b1988c8528347..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3357 zcmai0OONBm5oVK=C{fakM)Q8`nsy8WN`iF|=iv-Cn@#N83}3v+K^TDGuv;2>DN=4y zGoC>c2oM7^7yk$An7@*r(AS(cr<`+1zG_M{8t(#;z+zQ(cXe0Q*H!#eujgC%eQ`R7 zKijvgf0D5J*O>j@sf4wFQeL zb-^*iHPzN~rvdby8mKN-5Z_Y+%pq<=5p@(!MrU1)Z{h?!&Wvx{7>CT6>KSSXK!V1D!uW?6oKAAgLq6gV^b(^({= zX)u$5Coy5{6wn(BDF}P{ILJhKmCM)bbK_h}5tm^aor{#FFOh2G^@(Ekr$muQP_i;v$-f)4;rF?px-$NXsa^JPqP`i3#K2GLnh8GjP^io^_-3 zZ2mAiPUl4_Bt_<}$tEZv?41TzBAHy2%R5=hC|Ipq?Y6#2y^bvYcp)}gEnIE*I02M~ zP>RX@Lh$nx9^KSepOW|n*|a2)q5bB+_(>`_LtDGiw@IO$T=EGN<~L;01v6y2!OQEJ zSPi^fGXMU=a97*qSbI{K80*12OTL+l@G2=U!Z@F2Wue_TDoX8*(>y9a`K5M?nPQoH7x4R8o;!-gwcxOx_zI0STt#&jIGp2%c!>u84qbk-CG9En8k6IV#0N^ z4&$ho&8Ok&q7M9!YhNA2l66yMIGjO*44Ai9wf21f&oB^j^^&o8k?irJ_G z-8p6(!Gpk)@p!atrcH5|qf&$=E?O=}9g1Rji7N}CO#w8~8+DhfLQ;*$hDlm8g)R7t z&B@nJ9fBf`kQJBe#@{XZ49NP=r++>@6O>Qvb(Th%K&=R;IpTRQ!O&WF3u*PU*|k1; zhdwNlY?6u(V7d4UA$ZSad$!9C+&cGQ+3|bQ15&^hdR__4RuZj-PFIc?po+{UG$_4-k5j`=gg}% z@$Xk#)u7t0HdX%zcVSh1wPoI0YGB?2wQb(i;~J`uPC=cFdMTqm29Ek9x)-=@aQo5A#wgMRdG;`s_s zu?K=ZnQDTX?+W_nSkMQL{bgOe97!vHCQ;y$o9Z+4061zWx^W(r@r7>XbF>(oL3_mE z9@Hv>O``%jHA@T@Yx1!%8s{0W=pa-ZEq3$%W4~$;K2LK1x_I%7X5afkSfG!)Z9GK= zQc`Z3ht{2CsB`Du*>~*DyKCGv|JFWpE3ax*?aEg+`Kvs1d0RP#Z-IA|Yj}MBRIX|m z-Ur`M7QWIjQ$eemob6j8p}jEVc^rn?uX_dh{FTXu f0ic;x1Hqu-0TQj}sPpqwyrA$GlvtElr}gT81rxAk diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_front_end.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_front_end.cpython-36.pyc deleted file mode 100644 index 7abc9e60a8d3bbe65d82ca2919b29a479b84c727..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1300 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 F{$Jd#Dslh- diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_postprocess.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/__pycache__/lanenet_postprocess.cpython-37.pyc deleted file mode 100644 index 72884ed450be233c5705e38d461a3d80bc886115..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10219 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 P!Ensnv|Acq8R!26yQVz1 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet.py deleted file mode 100644 index 89ca5421a..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet.py +++ /dev/null @@ -1,111 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Implement LaneNet Model -""" -import tensorflow as tf - -from lanenet_model import lanenet_back_end -from lanenet_model import lanenet_front_end -from semantic_segmentation_zoo import cnn_basenet - - -class LaneNet(cnn_basenet.CNNBaseModel): - """ - - """ - def __init__(self, phase, cfg): - """ - - """ - super(LaneNet, self).__init__() - self._cfg = cfg - self._net_flag = self._cfg.MODEL.FRONT_END - - self._frontend = lanenet_front_end.LaneNetFrondEnd( - phase=phase, net_flag=self._net_flag, cfg=self._cfg - ) - self._backend = lanenet_back_end.LaneNetBackEnd( - phase=phase, cfg=self._cfg - ) - - def inference(self, input_tensor, name, reuse=False): - """ - - :param input_tensor: - :param name: - :param reuse - :return: - """ - with tf.variable_scope(name_or_scope=name, reuse=reuse): - # first extract image features - extract_feats_result = self._frontend.build_model( - input_tensor=input_tensor, - name='{:s}_frontend'.format(self._net_flag), - reuse=reuse - ) - - # second apply backend process - binary_seg_prediction, instance_seg_prediction = self._backend.inference( - binary_seg_logits=extract_feats_result['binary_segment_logits']['data'], - instance_seg_logits=extract_feats_result['instance_segment_logits']['data'], - name='{:s}_backend'.format(self._net_flag), - reuse=reuse - ) - - return binary_seg_prediction, instance_seg_prediction - - def compute_loss(self, input_tensor, binary_label, instance_label, name, reuse=False): - """ - calculate lanenet loss for training - :param input_tensor: - :param binary_label: - :param instance_label: - :param name: - :param reuse: - :return: - """ - with tf.variable_scope(name_or_scope=name, reuse=reuse): - # first extract image features - extract_feats_result = self._frontend.build_model( - input_tensor=input_tensor, - name='{:s}_frontend'.format(self._net_flag), - reuse=reuse - ) - - # second apply backend process - calculated_losses = self._backend.compute_loss( - binary_seg_logits=extract_feats_result['binary_segment_logits']['data'], - binary_label=binary_label, - instance_seg_logits=extract_feats_result['instance_segment_logits']['data'], - instance_label=instance_label, - name='{:s}_backend'.format(self._net_flag), - reuse=reuse - ) - - return calculated_losses diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_back_end.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_back_end.py deleted file mode 100644 index da31ea69b..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_back_end.py +++ /dev/null @@ -1,231 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -LaneNet backend branch which is mainly used for binary and instance segmentation loss calculation -""" -import tensorflow as tf - -from lanenet_model import lanenet_discriminative_loss -from semantic_segmentation_zoo import cnn_basenet - - -class LaneNetBackEnd(cnn_basenet.CNNBaseModel): - """ - LaneNet backend branch which is mainly used for binary and instance segmentation loss calculation - """ - def __init__(self, phase, cfg): - """ - init lanenet backend - :param phase: train or test - """ - super(LaneNetBackEnd, self).__init__() - self._cfg = cfg - self._phase = phase - self._is_training = self._is_net_for_training() - - self._class_nums = self._cfg.DATASET.NUM_CLASSES - self._embedding_dims = self._cfg.MODEL.EMBEDDING_FEATS_DIMS - self._binary_loss_type = self._cfg.SOLVER.LOSS_TYPE - - def _is_net_for_training(self): - """ - if the net is used for training or not - :return: - """ - if isinstance(self._phase, tf.Tensor): - phase = self._phase - else: - phase = tf.constant(self._phase, dtype=tf.string) - - return tf.equal(phase, tf.constant('train', dtype=tf.string)) - - @classmethod - def _compute_class_weighted_cross_entropy_loss(cls, onehot_labels, logits, classes_weights): - """ - - :param onehot_labels: - :param logits: - :param classes_weights: - :return: - """ - loss_weights = tf.reduce_sum(tf.multiply(onehot_labels, classes_weights), axis=3) - - loss = tf.losses.softmax_cross_entropy( - onehot_labels=onehot_labels, - logits=logits, - weights=loss_weights - ) - - return loss - - @classmethod - def _multi_category_focal_loss(cls, onehot_labels, logits, classes_weights, gamma=2.0): - """ - - :param onehot_labels: - :param logits: - :param classes_weights: - :param gamma: - :return: - """ - epsilon = 1.e-7 - alpha = tf.multiply(onehot_labels, classes_weights) - alpha = tf.cast(alpha, tf.float32) - gamma = float(gamma) - y_true = tf.cast(onehot_labels, tf.float32) - y_pred = tf.nn.softmax(logits, dim=-1) - y_pred = tf.clip_by_value(y_pred, epsilon, 1. - epsilon) - y_t = tf.multiply(y_true, y_pred) + tf.multiply(1-y_true, 1-y_pred) - ce = -tf.log(y_t) - weight = tf.pow(tf.subtract(1., y_t), gamma) - fl = tf.multiply(tf.multiply(weight, ce), alpha) - loss = tf.reduce_mean(fl) - - return loss - - def compute_loss(self, binary_seg_logits, binary_label, - instance_seg_logits, instance_label, - name, reuse): - """ - compute lanenet loss - :param binary_seg_logits: - :param binary_label: - :param instance_seg_logits: - :param instance_label: - :param name: - :param reuse: - :return: - """ - with tf.variable_scope(name_or_scope=name, reuse=reuse): - # calculate class weighted binary seg loss - with tf.variable_scope(name_or_scope='binary_seg'): - binary_label_onehot = tf.one_hot( - tf.reshape( - tf.cast(binary_label, tf.int32), - shape=[binary_label.get_shape().as_list()[0], - binary_label.get_shape().as_list()[1], - binary_label.get_shape().as_list()[2]]), - depth=self._class_nums, - axis=-1 - ) - - binary_label_plain = tf.reshape( - binary_label, - shape=[binary_label.get_shape().as_list()[0] * - binary_label.get_shape().as_list()[1] * - binary_label.get_shape().as_list()[2] * - binary_label.get_shape().as_list()[3]]) - unique_labels, unique_id, counts = tf.unique_with_counts(binary_label_plain) - counts = tf.cast(counts, tf.float32) - inverse_weights = tf.divide( - 1.0, - tf.log(tf.add(tf.divide(counts, tf.reduce_sum(counts)), tf.constant(1.02))) - ) - if self._binary_loss_type == 'cross_entropy': - binary_segmenatation_loss = self._compute_class_weighted_cross_entropy_loss( - onehot_labels=binary_label_onehot, - logits=binary_seg_logits, - classes_weights=inverse_weights - ) - elif self._binary_loss_type == 'focal': - binary_segmenatation_loss = self._multi_category_focal_loss( - onehot_labels=binary_label_onehot, - logits=binary_seg_logits, - classes_weights=inverse_weights - ) - else: - raise NotImplementedError - - # calculate class weighted instance seg loss - with tf.variable_scope(name_or_scope='instance_seg'): - - pix_bn = self.layerbn( - inputdata=instance_seg_logits, is_training=self._is_training, name='pix_bn') - pix_relu = self.relu(inputdata=pix_bn, name='pix_relu') - pix_embedding = self.conv2d( - inputdata=pix_relu, - out_channel=self._embedding_dims, - kernel_size=1, - use_bias=False, - name='pix_embedding_conv' - ) - pix_image_shape = (pix_embedding.get_shape().as_list()[1], pix_embedding.get_shape().as_list()[2]) - instance_segmentation_loss, l_var, l_dist, l_reg = \ - lanenet_discriminative_loss.discriminative_loss( - pix_embedding, instance_label, self._embedding_dims, - pix_image_shape, 0.5, 3.0, 1.0, 1.0, 0.001 - ) - - l2_reg_loss = tf.constant(0.0, tf.float32) - for vv in tf.trainable_variables(): - if 'bn' in vv.name or 'gn' in vv.name: - continue - else: - l2_reg_loss = tf.add(l2_reg_loss, tf.nn.l2_loss(vv)) - l2_reg_loss *= 0.001 - total_loss = binary_segmenatation_loss + instance_segmentation_loss + l2_reg_loss - - ret = { - 'total_loss': total_loss, - 'binary_seg_logits': binary_seg_logits, - 'instance_seg_logits': pix_embedding, - 'binary_seg_loss': binary_segmenatation_loss, - 'discriminative_loss': instance_segmentation_loss - } - - return ret - - def inference(self, binary_seg_logits, instance_seg_logits, name, reuse): - """ - - :param binary_seg_logits: - :param instance_seg_logits: - :param name: - :param reuse: - :return: - """ - with tf.variable_scope(name_or_scope=name, reuse=reuse): - - with tf.variable_scope(name_or_scope='binary_seg'): - binary_seg_score = tf.nn.softmax(logits=binary_seg_logits) - binary_seg_prediction = tf.argmax(binary_seg_score, axis=-1) - - with tf.variable_scope(name_or_scope='instance_seg'): - - pix_bn = self.layerbn( - inputdata=instance_seg_logits, is_training=self._is_training, name='pix_bn') - pix_relu = self.relu(inputdata=pix_bn, name='pix_relu') - instance_seg_prediction = self.conv2d( - inputdata=pix_relu, - out_channel=self._embedding_dims, - kernel_size=1, - use_bias=False, - name='pix_embedding_conv' - ) - - return binary_seg_prediction, instance_seg_prediction diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_discriminative_loss.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_discriminative_loss.py deleted file mode 100644 index f6c12b3e5..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_discriminative_loss.py +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Discriminative Loss for instance segmentation -""" -import tensorflow as tf - - -def discriminative_loss_single( - prediction, - correct_label, - feature_dim, - label_shape, - delta_v, - delta_d, - param_var, - param_dist, - param_reg): - """ - discriminative loss - :param prediction: inference of network - :param correct_label: instance label - :param feature_dim: feature dimension of prediction - :param label_shape: shape of label - :param delta_v: cut off variance distance - :param delta_d: cut off cluster distance - :param param_var: weight for intra cluster variance - :param param_dist: weight for inter cluster distances - :param param_reg: weight regularization - """ - correct_label = tf.reshape( - correct_label, [label_shape[1] * label_shape[0]] - ) - reshaped_pred = tf.reshape( - prediction, [label_shape[1] * label_shape[0], feature_dim] - ) - - # calculate instance nums - unique_labels, unique_id, counts = tf.unique_with_counts(correct_label) - counts = tf.cast(counts, tf.float32) - num_instances = tf.size(unique_labels) - - # calculate instance pixel embedding mean vec - segmented_sum = tf.unsorted_segment_sum( - reshaped_pred, unique_id, num_instances) - mu = tf.div(segmented_sum, tf.reshape(counts, (-1, 1))) - mu_expand = tf.gather(mu, unique_id) - - distance = tf.norm(tf.subtract(mu_expand, reshaped_pred), axis=1, ord=1) - distance = tf.subtract(distance, delta_v) - distance = tf.clip_by_value(distance, 0., distance) - distance = tf.square(distance) - - l_var = tf.unsorted_segment_sum(distance, unique_id, num_instances) - l_var = tf.div(l_var, counts) - l_var = tf.reduce_sum(l_var) - l_var = tf.divide(l_var, tf.cast(num_instances, tf.float32)) - - mu_interleaved_rep = tf.tile(mu, [num_instances, 1]) - mu_band_rep = tf.tile(mu, [1, num_instances]) - mu_band_rep = tf.reshape( - mu_band_rep, - (num_instances * - num_instances, - feature_dim)) - - mu_diff = tf.subtract(mu_band_rep, mu_interleaved_rep) - - intermediate_tensor = tf.reduce_sum(tf.abs(mu_diff), axis=1) - zero_vector = tf.zeros(1, dtype=tf.float32) - bool_mask = tf.not_equal(intermediate_tensor, zero_vector) - mu_diff_bool = tf.boolean_mask(mu_diff, bool_mask) - - mu_norm = tf.norm(mu_diff_bool, axis=1, ord=1) - mu_norm = tf.subtract(2. * delta_d, mu_norm) - mu_norm = tf.clip_by_value(mu_norm, 0., mu_norm) - mu_norm = tf.square(mu_norm) - - l_dist = tf.reduce_mean(mu_norm) - - l_reg = tf.reduce_mean(tf.norm(mu, axis=1, ord=1)) - - param_scale = 1. - l_var = param_var * l_var - l_dist = param_dist * l_dist - l_reg = param_reg * l_reg - - loss = param_scale * (l_var + l_dist + l_reg) - - return loss, l_var, l_dist, l_reg - - -def discriminative_loss(prediction, correct_label, feature_dim, image_shape, - delta_v, delta_d, param_var, param_dist, param_reg): - """ - - :return: discriminative loss and its three components - """ - - def cond(label, batch, out_loss, out_var, out_dist, out_reg, i): - return tf.less(i, tf.shape(batch)[0]) - - def body(label, batch, out_loss, out_var, out_dist, out_reg, i): - disc_loss, l_var, l_dist, l_reg = discriminative_loss_single( - prediction[i], correct_label[i], feature_dim, image_shape, delta_v, delta_d, param_var, param_dist, param_reg) - - out_loss = out_loss.write(i, disc_loss) - out_var = out_var.write(i, l_var) - out_dist = out_dist.write(i, l_dist) - out_reg = out_reg.write(i, l_reg) - - return label, batch, out_loss, out_var, out_dist, out_reg, i + 1 - - # TensorArray is a data structure that support dynamic writing - output_ta_loss = tf.TensorArray( - dtype=tf.float32, size=0, dynamic_size=True) - output_ta_var = tf.TensorArray( - dtype=tf.float32, size=0, dynamic_size=True) - output_ta_dist = tf.TensorArray( - dtype=tf.float32, size=0, dynamic_size=True) - output_ta_reg = tf.TensorArray( - dtype=tf.float32, size=0, dynamic_size=True) - - _, _, out_loss_op, out_var_op, out_dist_op, out_reg_op, _ = tf.while_loop( - cond, body, [ - correct_label, prediction, output_ta_loss, output_ta_var, output_ta_dist, output_ta_reg, 0]) - out_loss_op = out_loss_op.stack() - out_var_op = out_var_op.stack() - out_dist_op = out_dist_op.stack() - out_reg_op = out_reg_op.stack() - - disc_loss = tf.reduce_mean(out_loss_op) - l_var = tf.reduce_mean(out_var_op) - l_dist = tf.reduce_mean(out_dist_op) - l_reg = tf.reduce_mean(out_reg_op) - - return disc_loss, l_var, l_dist, l_reg diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_front_end.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_front_end.py deleted file mode 100644 index a0112f878..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_front_end.py +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -LaneNet frontend branch which is mainly used for feature extraction -""" -from semantic_segmentation_zoo import cnn_basenet -from semantic_segmentation_zoo import vgg16_based_fcn -from semantic_segmentation_zoo import bisenet_v2 - - -class LaneNetFrondEnd(cnn_basenet.CNNBaseModel): - """ - LaneNet frontend which is used to extract image features for following process - """ - def __init__(self, phase, net_flag, cfg): - """ - - """ - super(LaneNetFrondEnd, self).__init__() - self._cfg = cfg - - self._frontend_net_map = { - 'vgg': vgg16_based_fcn.VGG16FCN(phase=phase, cfg=self._cfg), - 'bisenetv2': bisenet_v2.BiseNetV2(phase=phase, cfg=self._cfg), - } - - self._net = self._frontend_net_map[net_flag] - - def build_model(self, input_tensor, name, reuse): - """ - - :param input_tensor: - :param name: - :param reuse: - :return: - """ - - return self._net.build_model( - input_tensor=input_tensor, - name=name, - reuse=reuse - ) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_postprocess.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_postprocess.py deleted file mode 100644 index 2fe33f9ad..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_model/lanenet_postprocess.py +++ /dev/null @@ -1,463 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -LaneNet model post process -""" -import os.path as ops -import math - -import cv2 -import numpy as np -import loguru -from sklearn.cluster import DBSCAN -from sklearn.preprocessing import StandardScaler - -LOG = loguru.logger - - -def _morphological_process(image, kernel_size=5): - """ - morphological process to fill the hole in the binary segmentation result - :param image: - :param kernel_size: - :return: - """ - if len(image.shape) == 3: - raise ValueError('Binary segmentation result image should be a single channel image') - - if image.dtype is not np.uint8: - image = np.array(image, np.uint8) - - kernel = cv2.getStructuringElement(shape=cv2.MORPH_ELLIPSE, ksize=(kernel_size, kernel_size)) - - # close operation fille hole - closing = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel, iterations=1) - - return closing - - -def _connect_components_analysis(image): - """ - connect components analysis to remove the small components - :param image: - :return: - """ - if len(image.shape) == 3: - gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) - else: - gray_image = image - - return cv2.connectedComponentsWithStats(gray_image, connectivity=8, ltype=cv2.CV_32S) - - -class _LaneFeat(object): - """ - - """ - def __init__(self, feat, coord, class_id=-1): - """ - lane feat object - :param feat: lane embeddng feats [feature_1, feature_2, ...] - :param coord: lane coordinates [x, y] - :param class_id: lane class id - """ - self._feat = feat - self._coord = coord - self._class_id = class_id - - @property - def feat(self): - """ - - :return: - """ - return self._feat - - @feat.setter - def feat(self, value): - """ - - :param value: - :return: - """ - if not isinstance(value, np.ndarray): - value = np.array(value, dtype=np.float64) - - if value.dtype != np.float32: - value = np.array(value, dtype=np.float64) - - self._feat = value - - @property - def coord(self): - """ - - :return: - """ - return self._coord - - @coord.setter - def coord(self, value): - """ - - :param value: - :return: - """ - if not isinstance(value, np.ndarray): - value = np.array(value) - - if value.dtype != np.int32: - value = np.array(value, dtype=np.int32) - - self._coord = value - - @property - def class_id(self): - """ - - :return: - """ - return self._class_id - - @class_id.setter - def class_id(self, value): - """ - - :param value: - :return: - """ - if not isinstance(value, np.int64): - raise ValueError('Class id must be integer') - - self._class_id = value - - -class _LaneNetCluster(object): - """ - Instance segmentation result cluster - """ - - def __init__(self, cfg): - """ - - """ - self._color_map = [np.array([255, 0, 0]), - np.array([0, 255, 0]), - np.array([0, 0, 255]), - np.array([125, 125, 0]), - np.array([0, 125, 125]), - np.array([125, 0, 125]), - np.array([50, 100, 50]), - np.array([100, 50, 100])] - self._cfg = cfg - - def _embedding_feats_dbscan_cluster(self, embedding_image_feats): - """ - dbscan cluster - :param embedding_image_feats: - :return: - """ - db = DBSCAN(eps=self._cfg.POSTPROCESS.DBSCAN_EPS, min_samples=self._cfg.POSTPROCESS.DBSCAN_MIN_SAMPLES) - try: - features = StandardScaler().fit_transform(embedding_image_feats) - db.fit(features) - except Exception as err: - LOG.error(err) - ret = { - 'origin_features': None, - 'cluster_nums': 0, - 'db_labels': None, - 'unique_labels': None, - 'cluster_center': None - } - return ret - db_labels = db.labels_ - unique_labels = np.unique(db_labels) - - num_clusters = len(unique_labels) - cluster_centers = db.components_ - - ret = { - 'origin_features': features, - 'cluster_nums': num_clusters, - 'db_labels': db_labels, - 'unique_labels': unique_labels, - 'cluster_center': cluster_centers - } - - return ret - - @staticmethod - def _get_lane_embedding_feats(binary_seg_ret, instance_seg_ret): - """ - get lane embedding features according the binary seg result - :param binary_seg_ret: - :param instance_seg_ret: - :return: - """ - idx = np.where(binary_seg_ret == 255) - lane_embedding_feats = instance_seg_ret[idx] - lane_coordinate = np.vstack((idx[1], idx[0])).transpose() - - assert lane_embedding_feats.shape[0] == lane_coordinate.shape[0] - - ret = { - 'lane_embedding_feats': lane_embedding_feats, - 'lane_coordinates': lane_coordinate - } - - return ret - - def apply_lane_feats_cluster(self, binary_seg_result, instance_seg_result): - """ - - :param binary_seg_result: - :param instance_seg_result: - :return: - """ - # get embedding feats and coords - get_lane_embedding_feats_result = self._get_lane_embedding_feats( - binary_seg_ret=binary_seg_result, - instance_seg_ret=instance_seg_result - ) - - # dbscan cluster - dbscan_cluster_result = self._embedding_feats_dbscan_cluster( - embedding_image_feats=get_lane_embedding_feats_result['lane_embedding_feats'] - ) - - mask = np.zeros(shape=[binary_seg_result.shape[0], binary_seg_result.shape[1], 3], dtype=np.uint8) - db_labels = dbscan_cluster_result['db_labels'] - unique_labels = dbscan_cluster_result['unique_labels'] - coord = get_lane_embedding_feats_result['lane_coordinates'] - - if db_labels is None: - return None, None - - lane_coords = [] - for index, label in enumerate(unique_labels.tolist()): - if label == -1: - continue - idx = np.where(db_labels == label) - pix_coord_idx = tuple((coord[idx][:, 1], coord[idx][:, 0])) - mask[pix_coord_idx] = self._color_map[index] - lane_coords.append(coord[idx]) - - return mask, lane_coords - - -class LaneNetPostProcessor(object): - """ - lanenet post process for lane generation - """ - def __init__(self, cfg, ipm_remap_file_path='./eval_data/tusimple_ipm_remap.yml'): - """ - - :param ipm_remap_file_path: ipm generate file path - """ - assert ops.exists(ipm_remap_file_path), '{:s} not exist'.format(ipm_remap_file_path) - - self._cfg = cfg - self._cluster = _LaneNetCluster(cfg=cfg) - self._ipm_remap_file_path = ipm_remap_file_path - - remap_file_load_ret = self._load_remap_matrix() - self._remap_to_ipm_x = remap_file_load_ret['remap_to_ipm_x'] - self._remap_to_ipm_y = remap_file_load_ret['remap_to_ipm_y'] - - self._color_map = [np.array([255, 0, 0]), - np.array([0, 255, 0]), - np.array([0, 0, 255]), - np.array([125, 125, 0]), - np.array([0, 125, 125]), - np.array([125, 0, 125]), - np.array([50, 100, 50]), - np.array([100, 50, 100])] - - def _load_remap_matrix(self): - """ - - :return: - """ - fs = cv2.FileStorage(self._ipm_remap_file_path, cv2.FILE_STORAGE_READ) - - remap_to_ipm_x = fs.getNode('remap_ipm_x').mat() - remap_to_ipm_y = fs.getNode('remap_ipm_y').mat() - - ret = { - 'remap_to_ipm_x': remap_to_ipm_x, - 'remap_to_ipm_y': remap_to_ipm_y, - } - - fs.release() - - return ret - - def postprocess(self, binary_seg_result, instance_seg_result=None, - min_area_threshold=100, source_image=None, - with_lane_fit=True, data_source='tusimple'): - """ - - :param binary_seg_result: - :param instance_seg_result: - :param min_area_threshold: - :param source_image: - :param with_lane_fit: - :param data_source: - :return: - """ - # convert binary_seg_result - binary_seg_result = np.array(binary_seg_result * 255, dtype=np.uint8) - - # apply image morphology operation to fill in the hold and reduce the small area - morphological_ret = _morphological_process(binary_seg_result, kernel_size=5) - - connect_components_analysis_ret = _connect_components_analysis(image=morphological_ret) - - labels = connect_components_analysis_ret[1] - stats = connect_components_analysis_ret[2] - for index, stat in enumerate(stats): - if stat[4] <= min_area_threshold: - idx = np.where(labels == index) - morphological_ret[idx] = 0 - - # apply embedding features cluster - mask_image, lane_coords = self._cluster.apply_lane_feats_cluster( - binary_seg_result=morphological_ret, - instance_seg_result=instance_seg_result - ) - - if mask_image is None: - return { - 'mask_image': None, - 'fit_params': None, - 'source_image': None, - } - if not with_lane_fit: - tmp_mask = cv2.resize( - mask_image, - dsize=(source_image.shape[1], source_image.shape[0]), - interpolation=cv2.INTER_NEAREST - ) - source_image = cv2.addWeighted(source_image, 0.6, tmp_mask, 0.4, 0.0, dst=source_image) - return { - 'mask_image': mask_image, - 'fit_params': None, - 'source_image': source_image, - } - - # lane line fit - fit_params = [] - src_lane_pts = [] # lane pts every single lane - for lane_index, coords in enumerate(lane_coords): - if data_source == 'tusimple': - tmp_mask = np.zeros(shape=(720, 1280), dtype=np.uint8) - tmp_mask[tuple((np.int_(coords[:, 1] * 720 / 256), np.int_(coords[:, 0] * 1280 / 512)))] = 255 - else: - raise ValueError('Wrong data source now only support tusimple') - tmp_ipm_mask = cv2.remap( - tmp_mask, - self._remap_to_ipm_x, - self._remap_to_ipm_y, - interpolation=cv2.INTER_NEAREST - ) - nonzero_y = np.array(tmp_ipm_mask.nonzero()[0]) - nonzero_x = np.array(tmp_ipm_mask.nonzero()[1]) - - fit_param = np.polyfit(nonzero_y, nonzero_x, 2) - fit_params.append(fit_param) - - [ipm_image_height, ipm_image_width] = tmp_ipm_mask.shape - plot_y = np.linspace(10, ipm_image_height, ipm_image_height - 10) - fit_x = fit_param[0] * plot_y ** 2 + fit_param[1] * plot_y + fit_param[2] - # fit_x = fit_param[0] * plot_y ** 3 + fit_param[1] * plot_y ** 2 + fit_param[2] * plot_y + fit_param[3] - - lane_pts = [] - for index in range(0, plot_y.shape[0], 5): - src_x = self._remap_to_ipm_x[ - int(plot_y[index]), int(np.clip(fit_x[index], 0, ipm_image_width - 1))] - if src_x <= 0: - continue - src_y = self._remap_to_ipm_y[ - int(plot_y[index]), int(np.clip(fit_x[index], 0, ipm_image_width - 1))] - src_y = src_y if src_y > 0 else 0 - - lane_pts.append([src_x, src_y]) - - src_lane_pts.append(lane_pts) - - # tusimple test data sample point along y axis every 10 pixels - source_image_width = source_image.shape[1] - for index, single_lane_pts in enumerate(src_lane_pts): - single_lane_pt_x = np.array(single_lane_pts, dtype=np.float32)[:, 0] - single_lane_pt_y = np.array(single_lane_pts, dtype=np.float32)[:, 1] - if data_source == 'tusimple': - start_plot_y = 240 - end_plot_y = 720 - else: - raise ValueError('Wrong data source now only support tusimple') - step = int(math.floor((end_plot_y - start_plot_y) / 10)) - for plot_y in np.linspace(start_plot_y, end_plot_y, step): - diff = single_lane_pt_y - plot_y - fake_diff_bigger_than_zero = diff.copy() - fake_diff_smaller_than_zero = diff.copy() - fake_diff_bigger_than_zero[np.where(diff <= 0)] = float('inf') - fake_diff_smaller_than_zero[np.where(diff > 0)] = float('-inf') - idx_low = np.argmax(fake_diff_smaller_than_zero) - idx_high = np.argmin(fake_diff_bigger_than_zero) - - previous_src_pt_x = single_lane_pt_x[idx_low] - previous_src_pt_y = single_lane_pt_y[idx_low] - last_src_pt_x = single_lane_pt_x[idx_high] - last_src_pt_y = single_lane_pt_y[idx_high] - - if previous_src_pt_y < start_plot_y or last_src_pt_y < start_plot_y or \ - fake_diff_smaller_than_zero[idx_low] == float('-inf') or \ - fake_diff_bigger_than_zero[idx_high] == float('inf'): - continue - - interpolation_src_pt_x = (abs(previous_src_pt_y - plot_y) * previous_src_pt_x + - abs(last_src_pt_y - plot_y) * last_src_pt_x) / \ - (abs(previous_src_pt_y - plot_y) + abs(last_src_pt_y - plot_y)) - interpolation_src_pt_y = (abs(previous_src_pt_y - plot_y) * previous_src_pt_y + - abs(last_src_pt_y - plot_y) * last_src_pt_y) / \ - (abs(previous_src_pt_y - plot_y) + abs(last_src_pt_y - plot_y)) - - if interpolation_src_pt_x > source_image_width or interpolation_src_pt_x < 10: - continue - - lane_color = self._color_map[index].tolist() - cv2.circle(source_image, (int(interpolation_src_pt_x), - int(interpolation_src_pt_y)), 5, lane_color, -1) - ret = { - 'mask_image': mask_image, - 'fit_params': fit_params, - 'source_image': source_image, - } - - return ret diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_postprocess.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_postprocess.py deleted file mode 100644 index 2fe33f9ad..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/lanenet_postprocess.py +++ /dev/null @@ -1,463 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -LaneNet model post process -""" -import os.path as ops -import math - -import cv2 -import numpy as np -import loguru -from sklearn.cluster import DBSCAN -from sklearn.preprocessing import StandardScaler - -LOG = loguru.logger - - -def _morphological_process(image, kernel_size=5): - """ - morphological process to fill the hole in the binary segmentation result - :param image: - :param kernel_size: - :return: - """ - if len(image.shape) == 3: - raise ValueError('Binary segmentation result image should be a single channel image') - - if image.dtype is not np.uint8: - image = np.array(image, np.uint8) - - kernel = cv2.getStructuringElement(shape=cv2.MORPH_ELLIPSE, ksize=(kernel_size, kernel_size)) - - # close operation fille hole - closing = cv2.morphologyEx(image, cv2.MORPH_CLOSE, kernel, iterations=1) - - return closing - - -def _connect_components_analysis(image): - """ - connect components analysis to remove the small components - :param image: - :return: - """ - if len(image.shape) == 3: - gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) - else: - gray_image = image - - return cv2.connectedComponentsWithStats(gray_image, connectivity=8, ltype=cv2.CV_32S) - - -class _LaneFeat(object): - """ - - """ - def __init__(self, feat, coord, class_id=-1): - """ - lane feat object - :param feat: lane embeddng feats [feature_1, feature_2, ...] - :param coord: lane coordinates [x, y] - :param class_id: lane class id - """ - self._feat = feat - self._coord = coord - self._class_id = class_id - - @property - def feat(self): - """ - - :return: - """ - return self._feat - - @feat.setter - def feat(self, value): - """ - - :param value: - :return: - """ - if not isinstance(value, np.ndarray): - value = np.array(value, dtype=np.float64) - - if value.dtype != np.float32: - value = np.array(value, dtype=np.float64) - - self._feat = value - - @property - def coord(self): - """ - - :return: - """ - return self._coord - - @coord.setter - def coord(self, value): - """ - - :param value: - :return: - """ - if not isinstance(value, np.ndarray): - value = np.array(value) - - if value.dtype != np.int32: - value = np.array(value, dtype=np.int32) - - self._coord = value - - @property - def class_id(self): - """ - - :return: - """ - return self._class_id - - @class_id.setter - def class_id(self, value): - """ - - :param value: - :return: - """ - if not isinstance(value, np.int64): - raise ValueError('Class id must be integer') - - self._class_id = value - - -class _LaneNetCluster(object): - """ - Instance segmentation result cluster - """ - - def __init__(self, cfg): - """ - - """ - self._color_map = [np.array([255, 0, 0]), - np.array([0, 255, 0]), - np.array([0, 0, 255]), - np.array([125, 125, 0]), - np.array([0, 125, 125]), - np.array([125, 0, 125]), - np.array([50, 100, 50]), - np.array([100, 50, 100])] - self._cfg = cfg - - def _embedding_feats_dbscan_cluster(self, embedding_image_feats): - """ - dbscan cluster - :param embedding_image_feats: - :return: - """ - db = DBSCAN(eps=self._cfg.POSTPROCESS.DBSCAN_EPS, min_samples=self._cfg.POSTPROCESS.DBSCAN_MIN_SAMPLES) - try: - features = StandardScaler().fit_transform(embedding_image_feats) - db.fit(features) - except Exception as err: - LOG.error(err) - ret = { - 'origin_features': None, - 'cluster_nums': 0, - 'db_labels': None, - 'unique_labels': None, - 'cluster_center': None - } - return ret - db_labels = db.labels_ - unique_labels = np.unique(db_labels) - - num_clusters = len(unique_labels) - cluster_centers = db.components_ - - ret = { - 'origin_features': features, - 'cluster_nums': num_clusters, - 'db_labels': db_labels, - 'unique_labels': unique_labels, - 'cluster_center': cluster_centers - } - - return ret - - @staticmethod - def _get_lane_embedding_feats(binary_seg_ret, instance_seg_ret): - """ - get lane embedding features according the binary seg result - :param binary_seg_ret: - :param instance_seg_ret: - :return: - """ - idx = np.where(binary_seg_ret == 255) - lane_embedding_feats = instance_seg_ret[idx] - lane_coordinate = np.vstack((idx[1], idx[0])).transpose() - - assert lane_embedding_feats.shape[0] == lane_coordinate.shape[0] - - ret = { - 'lane_embedding_feats': lane_embedding_feats, - 'lane_coordinates': lane_coordinate - } - - return ret - - def apply_lane_feats_cluster(self, binary_seg_result, instance_seg_result): - """ - - :param binary_seg_result: - :param instance_seg_result: - :return: - """ - # get embedding feats and coords - get_lane_embedding_feats_result = self._get_lane_embedding_feats( - binary_seg_ret=binary_seg_result, - instance_seg_ret=instance_seg_result - ) - - # dbscan cluster - dbscan_cluster_result = self._embedding_feats_dbscan_cluster( - embedding_image_feats=get_lane_embedding_feats_result['lane_embedding_feats'] - ) - - mask = np.zeros(shape=[binary_seg_result.shape[0], binary_seg_result.shape[1], 3], dtype=np.uint8) - db_labels = dbscan_cluster_result['db_labels'] - unique_labels = dbscan_cluster_result['unique_labels'] - coord = get_lane_embedding_feats_result['lane_coordinates'] - - if db_labels is None: - return None, None - - lane_coords = [] - for index, label in enumerate(unique_labels.tolist()): - if label == -1: - continue - idx = np.where(db_labels == label) - pix_coord_idx = tuple((coord[idx][:, 1], coord[idx][:, 0])) - mask[pix_coord_idx] = self._color_map[index] - lane_coords.append(coord[idx]) - - return mask, lane_coords - - -class LaneNetPostProcessor(object): - """ - lanenet post process for lane generation - """ - def __init__(self, cfg, ipm_remap_file_path='./eval_data/tusimple_ipm_remap.yml'): - """ - - :param ipm_remap_file_path: ipm generate file path - """ - assert ops.exists(ipm_remap_file_path), '{:s} not exist'.format(ipm_remap_file_path) - - self._cfg = cfg - self._cluster = _LaneNetCluster(cfg=cfg) - self._ipm_remap_file_path = ipm_remap_file_path - - remap_file_load_ret = self._load_remap_matrix() - self._remap_to_ipm_x = remap_file_load_ret['remap_to_ipm_x'] - self._remap_to_ipm_y = remap_file_load_ret['remap_to_ipm_y'] - - self._color_map = [np.array([255, 0, 0]), - np.array([0, 255, 0]), - np.array([0, 0, 255]), - np.array([125, 125, 0]), - np.array([0, 125, 125]), - np.array([125, 0, 125]), - np.array([50, 100, 50]), - np.array([100, 50, 100])] - - def _load_remap_matrix(self): - """ - - :return: - """ - fs = cv2.FileStorage(self._ipm_remap_file_path, cv2.FILE_STORAGE_READ) - - remap_to_ipm_x = fs.getNode('remap_ipm_x').mat() - remap_to_ipm_y = fs.getNode('remap_ipm_y').mat() - - ret = { - 'remap_to_ipm_x': remap_to_ipm_x, - 'remap_to_ipm_y': remap_to_ipm_y, - } - - fs.release() - - return ret - - def postprocess(self, binary_seg_result, instance_seg_result=None, - min_area_threshold=100, source_image=None, - with_lane_fit=True, data_source='tusimple'): - """ - - :param binary_seg_result: - :param instance_seg_result: - :param min_area_threshold: - :param source_image: - :param with_lane_fit: - :param data_source: - :return: - """ - # convert binary_seg_result - binary_seg_result = np.array(binary_seg_result * 255, dtype=np.uint8) - - # apply image morphology operation to fill in the hold and reduce the small area - morphological_ret = _morphological_process(binary_seg_result, kernel_size=5) - - connect_components_analysis_ret = _connect_components_analysis(image=morphological_ret) - - labels = connect_components_analysis_ret[1] - stats = connect_components_analysis_ret[2] - for index, stat in enumerate(stats): - if stat[4] <= min_area_threshold: - idx = np.where(labels == index) - morphological_ret[idx] = 0 - - # apply embedding features cluster - mask_image, lane_coords = self._cluster.apply_lane_feats_cluster( - binary_seg_result=morphological_ret, - instance_seg_result=instance_seg_result - ) - - if mask_image is None: - return { - 'mask_image': None, - 'fit_params': None, - 'source_image': None, - } - if not with_lane_fit: - tmp_mask = cv2.resize( - mask_image, - dsize=(source_image.shape[1], source_image.shape[0]), - interpolation=cv2.INTER_NEAREST - ) - source_image = cv2.addWeighted(source_image, 0.6, tmp_mask, 0.4, 0.0, dst=source_image) - return { - 'mask_image': mask_image, - 'fit_params': None, - 'source_image': source_image, - } - - # lane line fit - fit_params = [] - src_lane_pts = [] # lane pts every single lane - for lane_index, coords in enumerate(lane_coords): - if data_source == 'tusimple': - tmp_mask = np.zeros(shape=(720, 1280), dtype=np.uint8) - tmp_mask[tuple((np.int_(coords[:, 1] * 720 / 256), np.int_(coords[:, 0] * 1280 / 512)))] = 255 - else: - raise ValueError('Wrong data source now only support tusimple') - tmp_ipm_mask = cv2.remap( - tmp_mask, - self._remap_to_ipm_x, - self._remap_to_ipm_y, - interpolation=cv2.INTER_NEAREST - ) - nonzero_y = np.array(tmp_ipm_mask.nonzero()[0]) - nonzero_x = np.array(tmp_ipm_mask.nonzero()[1]) - - fit_param = np.polyfit(nonzero_y, nonzero_x, 2) - fit_params.append(fit_param) - - [ipm_image_height, ipm_image_width] = tmp_ipm_mask.shape - plot_y = np.linspace(10, ipm_image_height, ipm_image_height - 10) - fit_x = fit_param[0] * plot_y ** 2 + fit_param[1] * plot_y + fit_param[2] - # fit_x = fit_param[0] * plot_y ** 3 + fit_param[1] * plot_y ** 2 + fit_param[2] * plot_y + fit_param[3] - - lane_pts = [] - for index in range(0, plot_y.shape[0], 5): - src_x = self._remap_to_ipm_x[ - int(plot_y[index]), int(np.clip(fit_x[index], 0, ipm_image_width - 1))] - if src_x <= 0: - continue - src_y = self._remap_to_ipm_y[ - int(plot_y[index]), int(np.clip(fit_x[index], 0, ipm_image_width - 1))] - src_y = src_y if src_y > 0 else 0 - - lane_pts.append([src_x, src_y]) - - src_lane_pts.append(lane_pts) - - # tusimple test data sample point along y axis every 10 pixels - source_image_width = source_image.shape[1] - for index, single_lane_pts in enumerate(src_lane_pts): - single_lane_pt_x = np.array(single_lane_pts, dtype=np.float32)[:, 0] - single_lane_pt_y = np.array(single_lane_pts, dtype=np.float32)[:, 1] - if data_source == 'tusimple': - start_plot_y = 240 - end_plot_y = 720 - else: - raise ValueError('Wrong data source now only support tusimple') - step = int(math.floor((end_plot_y - start_plot_y) / 10)) - for plot_y in np.linspace(start_plot_y, end_plot_y, step): - diff = single_lane_pt_y - plot_y - fake_diff_bigger_than_zero = diff.copy() - fake_diff_smaller_than_zero = diff.copy() - fake_diff_bigger_than_zero[np.where(diff <= 0)] = float('inf') - fake_diff_smaller_than_zero[np.where(diff > 0)] = float('-inf') - idx_low = np.argmax(fake_diff_smaller_than_zero) - idx_high = np.argmin(fake_diff_bigger_than_zero) - - previous_src_pt_x = single_lane_pt_x[idx_low] - previous_src_pt_y = single_lane_pt_y[idx_low] - last_src_pt_x = single_lane_pt_x[idx_high] - last_src_pt_y = single_lane_pt_y[idx_high] - - if previous_src_pt_y < start_plot_y or last_src_pt_y < start_plot_y or \ - fake_diff_smaller_than_zero[idx_low] == float('-inf') or \ - fake_diff_bigger_than_zero[idx_high] == float('inf'): - continue - - interpolation_src_pt_x = (abs(previous_src_pt_y - plot_y) * previous_src_pt_x + - abs(last_src_pt_y - plot_y) * last_src_pt_x) / \ - (abs(previous_src_pt_y - plot_y) + abs(last_src_pt_y - plot_y)) - interpolation_src_pt_y = (abs(previous_src_pt_y - plot_y) * previous_src_pt_y + - abs(last_src_pt_y - plot_y) * last_src_pt_y) / \ - (abs(previous_src_pt_y - plot_y) + abs(last_src_pt_y - plot_y)) - - if interpolation_src_pt_x > source_image_width or interpolation_src_pt_x < 10: - continue - - lane_color = self._color_map[index].tolist() - cv2.circle(source_image, (int(interpolation_src_pt_x), - int(interpolation_src_pt_y)), 5, lane_color, -1) - ret = { - 'mask_image': mask_image, - 'fit_params': fit_params, - 'source_image': source_image, - } - - return ret diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__init__.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__init__.py deleted file mode 100644 index e076ab98d..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# @Time : 2020/6/11 下午5:46 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/lanenet-lane-detection -# @File : __init__.py -# @IDE: PyCharm diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index b93f37c3ce6a3c5dbd378dcd54f1a38cf1432168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmXr!<>k5y zUl5a8mY7qTSdto(lb@WJ6JJ`AnNu8-oS&DLnGWT|$7kkcmc+;F6;$5hu*uC&Da}c> K1DRM1#0&sp{UjU! diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 370df58d2088a2c1f041a1a5adefeae384d048d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143 zcmZ?b<>g`kf{U^9lkNfO#~=<2FajA4KwQiMBvKfH88jLFRx%WUgb~Cq3m2;xm(=3y zlKg_0)Uw2!(!`R~n4J9N#GLrjlFXdqnB@Gtw9IrUCq6ziFS8^*Uaz3?7Kcr4eoARh MsvXG0&p^xo0B=4ds{jB1 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-36.pyc deleted file mode 100644 index f34ce495c479a63f48e15a12a747de111f7b9668..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5949 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 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/__pycache__/parse_config_utils.cpython-37.pyc deleted file mode 100644 index e67ae8d74a61d41ba073dedde44e520eef307aba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5912 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 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/parse_config_utils.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/parse_config_utils.py deleted file mode 100644 index 2f7359fc2..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/config_utils/parse_config_utils.py +++ /dev/null @@ -1,245 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Parse config utils -""" -import os -import yaml -import json -import codecs -from ast import literal_eval - - -class Config(dict): - """ - Config class - """ - def __init__(self, *args, **kwargs): - """ - init class - :param args: - :param kwargs: - """ - if 'config_path' in kwargs: - config_content = self._load_config_file(kwargs['config_path']) - super(Config, self).__init__(config_content) - else: - super(Config, self).__init__(*args, **kwargs) - self.immutable = False - - def __setattr__(self, key, value, create_if_not_exist=True): - """ - - :param key: - :param value: - :param create_if_not_exist: - :return: - """ - if key in ["immutable"]: - self.__dict__[key] = value - return - - t = self - keylist = key.split(".") - for k in keylist[:-1]: - t = t.__getattr__(k, create_if_not_exist) - - t.__getattr__(keylist[-1], create_if_not_exist) - t[keylist[-1]] = value - - def __getattr__(self, key, create_if_not_exist=True): - """ - - :param key: - :param create_if_not_exist: - :return: - """ - if key in ["immutable"]: - return self.__dict__[key] - - if key not in self: - if not create_if_not_exist: - raise KeyError - self[key] = Config() - if isinstance(self[key], dict): - self[key] = Config(self[key]) - return self[key] - - def __setitem__(self, key, value): - """ - - :param key: - :param value: - :return: - """ - if self.immutable: - raise AttributeError( - 'Attempted to set "{}" to "{}", but SegConfig is immutable'. - format(key, value)) - # - if isinstance(value, str): - try: - value = literal_eval(value) - except ValueError: - pass - except SyntaxError: - pass - super(Config, self).__setitem__(key, value) - - @staticmethod - def _load_config_file(config_file_path): - """ - - :param config_file_path - :return: - """ - if not os.access(config_file_path, os.R_OK): - raise OSError('Config file: {:s}, can not be read'.format(config_file_path)) - with open(config_file_path, 'r') as f: - config_content = yaml.safe_load(f) - - return config_content - - def update_from_config(self, other): - """ - - :param other: - :return: - """ - if isinstance(other, dict): - other = Config(other) - assert isinstance(other, Config) - diclist = [("", other)] - while len(diclist): - prefix, tdic = diclist[0] - diclist = diclist[1:] - for key, value in tdic.items(): - key = "{}.{}".format(prefix, key) if prefix else key - if isinstance(value, dict): - diclist.append((key, value)) - continue - try: - self.__setattr__(key, value, create_if_not_exist=False) - except KeyError: - raise KeyError('Non-existent config key: {}'.format(key)) - - def check_and_infer(self): - """ - - :return: - """ - if self.DATASET.IMAGE_TYPE in ['rgb', 'gray']: - self.DATASET.DATA_DIM = 3 - elif self.DATASET.IMAGE_TYPE in ['rgba']: - self.DATASET.DATA_DIM = 4 - else: - raise KeyError( - 'DATASET.IMAGE_TYPE config error, only support `rgb`, `gray` and `rgba`' - ) - if self.MEAN is not None: - self.DATASET.PADDING_VALUE = [x * 255.0 for x in self.MEAN] - - if not self.TRAIN_CROP_SIZE: - raise ValueError( - 'TRAIN_CROP_SIZE is empty! Please set a pair of values in format (width, height)' - ) - - if not self.EVAL_CROP_SIZE: - raise ValueError( - 'EVAL_CROP_SIZE is empty! Please set a pair of values in format (width, height)' - ) - - # Ensure file list is use UTF-8 encoding - train_sets = codecs.open(self.DATASET.TRAIN_FILE_LIST, 'r', 'utf-8').readlines() - val_sets = codecs.open(self.DATASET.VAL_FILE_LIST, 'r', 'utf-8').readlines() - test_sets = codecs.open(self.DATASET.TEST_FILE_LIST, 'r', 'utf-8').readlines() - self.DATASET.TRAIN_TOTAL_IMAGES = len(train_sets) - self.DATASET.VAL_TOTAL_IMAGES = len(val_sets) - self.DATASET.TEST_TOTAL_IMAGES = len(test_sets) - - if self.MODEL.MODEL_NAME == 'icnet' and \ - len(self.MODEL.MULTI_LOSS_WEIGHT) != 3: - self.MODEL.MULTI_LOSS_WEIGHT = [1.0, 0.4, 0.16] - - def update_from_list(self, config_list): - if len(config_list) % 2 != 0: - raise ValueError( - "Command line options config format error! Please check it: {}". - format(config_list)) - for key, value in zip(config_list[0::2], config_list[1::2]): - try: - self.__setattr__(key, value, create_if_not_exist=False) - except KeyError: - raise KeyError('Non-existent config key: {}'.format(key)) - - def update_from_file(self, config_file): - """ - - :param config_file: - :return: - """ - with codecs.open(config_file, 'r', 'utf-8') as f: - dic = yaml.safe_load(f) - self.update_from_config(dic) - - def set_immutable(self, immutable): - """ - - :param immutable: - :return: - """ - self.immutable = immutable - for value in self.values(): - if isinstance(value, Config): - value.set_immutable(immutable) - - def is_immutable(self): - """ - - :return: - """ - return self.immutable - - def dump_to_json_file(self, f_obj): - """ - - :param f_obj: - :return: - """ - origin_dict = dict() - for key, val in self.items(): - if isinstance(val, Config): - origin_dict.update({key: dict(val)}) - elif isinstance(val, dict): - origin_dict.update({key: val}) - else: - raise TypeError('Not supported type {}'.format(type(val))) - return json.dump(origin_dict, f_obj) - - -lanenet_cfg = Config(config_path='E:/evaluate/config/tusimple_lanenet.yaml') diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__init__.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__init__.py deleted file mode 100644 index 506b5b98e..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__init__.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# @Time : 2019/11/14 下午8:18 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/bisenetv2-tensorflow -# @File : __init__.py.py -# @IDE: PyCharm -""" -日志配置类 -""" \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/__init__.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index 2be82217ad78c858abcfac7d69a91aedcc5b37cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmZ?b<>g`kf{U^9lfDD##~=<2FajA4KwQiLBvKfn7*ZI688n$n1%X_yXVaHH-9PD>z;4i&E==bc#AzgJ|#anK7J)b5fe}inD}MlVin_(TAW>yUl5a8mY7qTSdto( vlb@WJ6JJ`AnNtj8r-NBB@$s2?nI-Y@dIgoYIBatBQ%ZAE?Lf}^48#lo`qVPX diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/init_logger.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/local_utils/log_util/__pycache__/init_logger.cpython-37.pyc deleted file mode 100644 index 45ad04c0e50d67c5d212306b878d9071e2243f35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 979 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 J{zML${{&siwd()? diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__init__.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__init__.py deleted file mode 100644 index fe7a4cdfd..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__init__.py +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- -# @Time : 19-4-24 下午6:41 -# @Author : MaybeShewill-CV -# @Site : https://github.com/MaybeShewill-CV/lanenet-lane-detection -# @File : __init__.py -# @IDE: PyCharm \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-36.pyc deleted file mode 100644 index dcd59e74ca4fe118f7c60c5409e900324f18bd38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmXr!<>k5y zUl5a8mY7qTSdto3oSK`MSCW|=U!0nro0?aWSdy8a7hjd19}^#+nU`4-AFo$Xd5gm) RH$SB`C)EyQWHAsk004~CB$WUF diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/__init__.cpython-37.pyc deleted file mode 100644 index a6a399f9a840d2df729df99879b2a40ddb8fbdf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 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 kNg94Kd4m?!>hNI$N5#q=Suy;k-A1_sLAv;Y7A diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/bisenet_v2.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/bisenet_v2.cpython-37.pyc deleted file mode 100644 index 4f0a64b6c7da18450c2e183792d5809089e42a2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23682 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 Q#XU#X6N!ZDq_|M}KU~N1ga7~l diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/cnn_basenet.cpython-37.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/cnn_basenet.cpython-37.pyc deleted file mode 100644 index 0889a78a8c3143c020082c88783b759b18b369e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14427 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 DD7^t1 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/vgg16_based_fcn.cpython-36.pyc b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/__pycache__/vgg16_based_fcn.cpython-36.pyc deleted file mode 100644 index 4d33fcb24ac82c01736cd305d5a63b0597f7d763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7138 zcmcgx&2!tv6~`9|5d07&QIh4@4&!{XA5J9MZsNMB96NTC#!6#5A4Tn=5O*b$20?iN zDKP_0G9yoO(l~!WXWCO|+H?PgPEVcb71QaZCtZ8&^w8g103<^?UpmgTDAXn=eL{pUsjZVDr3JQ+UvN(KLRktQJBg!Uv*UZ)Epg8-8Xs#r=U`w;TL_;!~+3wtdaz(jw;wmQKyZ@HW7MJrytly zSgNwoQj>B!2wdUY&G$Ti7oWJDD~>y^IPRd|zrDA;y>ebE4RfJtXLcS4 zvY{p1VFf@jYHAUejcYKQ@8y|XHf@z?@Y8S;<7M38IzR-GchyMi>Ia%wr1riV%;BB3 zhVTWZ9%}p4D#ip2rsdcJG6{X~#&B;sTg~V$mv+zzo4e93U=O*xn`j69Xh?oR@Mu>A z7lsH3slcKKJ3J{!o|c)|ov;&xkr%YNurS|5i?)*DEgpn@kytPq>Wh+M7zx_n0>8iO z`7KS%f>z8CSQvsuYLx&^;|^&wrBG8XZB84U9Et2PYI8*5ON^VBuD^b(E&1?X#$CrP zMY)AW1cAlIf%@nMbX@6b&~P2P4gtnRveQFz--=D~Ci?W)0+d#JsPB`;7vd5tG83Y< zgPMG|@^|mB8W@_`cD5O`_uuc5%O`1ZXfq_EfY0@n1P%6rn=G&@04>dcVz0^E$( z1Ab>Waw93fk>In=dv4en@F{d39IVp|r#b?!H%(1D!KTqW9-HRpoVmXDfD1S1i{4oO zq-I=A3|b`=q9j+qyvR$+G_m$wF9^7wl<#qYr(8j*4vZ%jbkN=Gc(7W0pOJ7dk}U60^}NisRH%+w(-n+w{2`w);@iB28+QC8k`&W*}^0 z`7S`KELAY6j0-#|rV>u9T%>Y%@hpw4V}{90@I{e`r)a=dKI()rC$nzq7-$+Ulwq5n z0cqF(P^uNxkXJ=F)H$uL9n%KKM`}LFctqaxi2TFVHm!nwHQYlL|2tk%6^BPqAN^US zHx0Lro4f+Ka)L$NCKTLi5JieJ(XwLo0AYPO!y>dIxbEBNDKR6qSpmuqr{A@u;S}Ox zY{q421m=DP_;O5826z|^wX1Q3LOu8@7^MbdtE54HzZ#dsUnNgf^3+%fJk+knRW>7e zsxYj2W>{4i)~r{AosS~TH?f!ywl=>vZ2M-D{3{iti91*`ZU;`XMPm&K8H86Rkv7gDxDE=5Mn^KdmVS~W&4 zd#HY{Jvx;~O^TJ2&$8lSVPA*IYOyYHW`;9jTu4~pb`B65e}jAyX-erLMcra-z$L&b zu*#vaUy$4da95EHry~|6jv_KSf)r=M)tFNw*0T{!IpVAwk>a)%Ti`}EopDqA))2o5 z*T`_T#Mu(Jkm1TPuBopqW?w1GuPn*0kaHtvrXg2f&bY~WX>eYIJD%YvQ_$j?#66MW zW@21ZUpbL|Wk!DGr2I-G8;$|i8$qY9qadQ&a%y9EDuBop)CBLG@>6oW8 z+J@wBNdBiY+=9d{NZd0SZZXC+HRiJy6*%hWQb*06gQI?aaQ)kP>92Km;s;Pmfm5n- zv<~2yiIBvj_+ic zRk&Kp?AtuYtPL^A(!^jn=|;;OIec-JL|)p)2{85MrWd+?2jQ?v9d^(Ah_(YMVQXpR ztJ7dY=ZZZnZpF!4tKx0ipY)YBC~vKb8>0@|g|vgVA#bgTcSj^7>$HP}owwG+`$RG$ zzdI(@95Iw@j>rY;%nn&{DGX6#GR&z)LY(ydc_xX&rJIU(A2SO71fZC8czC+3{Hbf| zqCpsn2H&tJr~Go>|AAs`PGj6neLB+}Ev!vRF8$~PM~Q%pNB@8=$#{e$^>g*nUu1f# zqV}XAIw_C-lSU^>UzxG2>{HC4(;fUTE2KC|RjK-vMJ*ktKkBu!UPL6+ql|qzSnG&j z)K|;;W>BM{K8ja*ETa~i&H5k$2JQmxB5MGeGTpY=(`c7)+i?*Iwj~p6^koS) zrQT(>7@KSfi895n3Q}t%!W3H&$&Rxp4vRR0;_B8AQ)duUPso_6v6IsGo=SZ$#!=am zB#%eG%cRjv=eSSNPLE~G`#(rynLPy=7qN=s)QnG$&lqtdn>#y&xbe*3iLtmbnesZb zsV}4AOO^;Bxs-w711O2OPJn7~iOi~yCZ#U^tVpm9+aU^yHcPde*4t4SY@$uh0M&2s{aJHJQ&u zum!K~yMBMW6NNbYo+gS>DoWb|7Y$&f0a*$^AfeD0mbq$_?-+*yE~ zSo53cN|wf%#)iw5^3r;%KIZSqtqV$81(h7dj|q@?9DS1pUCOfPRL{;0 z1K?Nr?v$krXBKub1`1qyUFPYUT2U+Tk@O_5J^8F7r_b|yP5N|AwG2&d>b0-sufV52 z-s7gzX&W>Z{OCzuS9)C1JMt;;qNw*DYLA-ZCxAmuzR8oop{i02Sj-OV@Pn{sbI=~M z=5J8ln#clE4#8o(V~6HRuK?{P7mySrp);SBO|k@}*Jryv2Z=OWGKQQW+qsM&J)>?w z*Qtsm&!gfFwKxG%T$sMBSPlmgR8gGV=Dc33P6283Sdu@KV@1sf~U6)gfco@O>v+7b(_Pv1qJCc8Q z6r?f;DRmvn3vooe7bbRARz(fR$=aP@tB;cd>g1?{;9rrR7mao%ZP897*2Po4!AgJxNm14U$t$wRCMhYltT@^gI~E;F@{)<1$q?P7Kn(^|&ycp@ zVL4S&#V3}Wdk*9!RmnNG+;hwinDQ+rUUN+4kni=(05Blgat^`N^mM;|ub0xWB~ zN>Rb@Z*NYwch4)zKdF)ZOjIu54gP|HDYn8?rg^HZ%CBbY`0Ad~&DlAX`V24MHEmN> zt}86Z@{bgj=eZ5*p>7v=k(u{2@h7ftl<=0B#R{y*O6vwIv&yb+S9pO{xw%ngQ@ffy z#iurEyuxa%j#mA%S9pDIdSAJsd~)QDX3y9SKFg-}=J*V6u$cvAUwf#k%KhJeq%iH4 z(rWbID8Aj@^mv#1Ve`Z5*B8$=SKWZK=33it`aEo|^+Yq^UDppgZB*6?(G5F2zj%PH zDl08DF13B%Au8abIlbwMfIID;zt&lIw!)4Vv!fq?BGP4P`E(y*W)rl2dz@O=XtzM#}mY*_XOjDvn!o;7%xcDjvsQ-<*eg| z+z~w3^1>iCuUx!+@z&MbacSj)8_wl-FW$O!^;TSR+MXL=#;tD9(qkjw-ddbXmZD=_ zIOu|t;y8a+{{8yZb9eZ*>uq7^JDI>ZqXOgfd%Zi`>+6eWrLZsuB6e!?fyiUmKg1i9 zQ7A@L&EqNJ>DRL}JeBdJtr8A?8eUSm%XoteC_*rOLk+bJ{h=o2sJ^56(`e&JBs|B| zU2O*#d-;g)45p!!(0x(`z5n*$Ogd}L@Gh6~-wB#qQXilP8K0Y|`@L|0eopXkOZevo z05B)V!Uvl?&Pke<85cW2#}7i+Z*yT`y|EUq#rfOZ4|*cDpe)oE#`z!=bgnsmf6Mh+ zny3R;Oj9vCDCVeEKyemtK%*(Ss%mM|TL0*fWls>717crn+`4$<>g~3qL%W2RESqHI z8Y-c(r$)xU`uHYfTiMVc**at#tcvoapS$Lc6`A54^y!g>Qflk2zC)6piwZ2yOt8A> zS7qDE+ORp+`^rt_VWuueCa=4z9n$)ThhjcXctBS4fb7GywshF2Rnu3B_}6HJunCa?i=aOK zyGjDD;nneyRe%uhQ#+5>gn(NO!cSl(U{<8=!<{dr(0vV$x>E#Bff-Se9XphU>XoQWE*^Acj8cWNl@n*bQ;7=VACjgbX{xLM8md>K z3Y(HN6)09MRjdjWtM2BZ=R*(kEE=;Z_;#na6*z0$4dGFqtXCs)ns|m0Nl(;rM0h9q z26KEHQYPpV)K5{zG1VQ{H(25dp*V1wQqQ16jO41uke1i6aCu*Sww^E-%Ga7aqN{={3qedy!=4!fQ-mbmq~-pUif_8cxZ)5xgT?fE z?RyR|0y+n!R@Dr(rZ&`L_!jX}q+#jP8o^;*P*!zVm${*J869X456)vOa=+4?oQ0`@ z(y9?+*j@E2?eVe9Ym%>|IF{vib2~azR*Q5AGgFum;n~yoVRrW68~=zn5&=o!JbB$b z%u|t!0xRztJ2^?619b&aa57?E!pI|&AxK~*OpQ4)Vl5rflq1&Vh~&4m$O1K@=#-lL zw+8=Buto|iN?1|CW>Z)x!ZR_;Tslih&N44&A>&5IOhb&mkW!QJ(qOy@b~uGmq@YDr z341PuO+|PnW;v41G9_m@Drc!l>YAiJmQvRxtS({4Q`oeGO-ooah0R2GCT2MyXVIc$ z%#$f@L((@S{qreoR>Ec_?1dCI7vY&0^TqQD4E0Nip=K|^P`}*2@%^mycN#nK6NsgF z9mT-~6t+n=Y|&Y~-O344VeuLji&T(Ch-DNR(h}J~ibn*=b==^-)FJ7Ooka(xL~ub7 zC$0g#p10UC64N+Ta~ksCcPNq}mz>3{vNSf_QZigJ($WDgQ7O%GMzicJCB)0l@)+^* zDDiTK?g9zw>5TYvMtpjL`1C08X}d}cI)m-4c6?Vn$l6O|?d7x`&whg|XEL-}HcS@d z+bLuTrj{c6HqRi-14ukSHduzb(lUnzUz{eE7uIp}ORTx+29DQ(JFHMgvFm7ZlCYRlq-Aqw$2=^$ojwPo=U zp-jnnN7$MH27Ju`8Ds7GfF$F>05rnG3~R{5aoe9olDJ$t348y56$O7qp_nyTczUet zt840Y!RF#6%uhQ^# zLq*O>L$Ldw#5Ym!%8UhNhdd75?O=UbE`d>?N;#+0XX&{6QExHrg+D?T%GjZ6wGRJ9 zebuyY3Yi(|BX6Zg(r2-H+DBf7`Y5P2@aFL5Sp%Nal)<*eW&tVSEk=2S*Om;g(U*qT z2)s8+Y%Vg{Ji=u1US$N<2!qM9z>ghf&+X=M1I4pfg-4x&M?E4vs>Y5=%X=)byyUCd zamkInlpD=tjXUJ)^hkQV{{uG`*a`4Bk6q*^R(x`F#qb*G+SxI9jpzH%jd+dmfY+`k zmW)y_X&8jiQo4nYAtK@i6_k04WlV)2DKYS;9f~)lF_r!!a~RhNU;2ulQ|)akZcmag zOLB1wJ@5p6-=jzH)w!!R2)ZfEuKkP zum+p%IbLtQ69%~Xo+ON6AWt#8Kq5EU9)^*uk-l$s$V19^rbDdQGns7~;jZ`#Usc=!)FF%1_l)v3}#=`IyzY|dg=BqU5d>T3@;&o==^}fwu zCnU#V!GaBpfvlEZmBG2Dmen#0BYnwKkAG_jA%C)&O_tL( zXes#7cM$fIxFumff_h{YA2&zC{#{MBWca_UsucL;(;GU{Wl&$2o~;&m_5$H0tQ~*p|nEBDIxNJVQuNE=5Q#rYjI}N*&2dsQ83x zoC*?LXndXOgMkF45yua@w7S*tn1fNdcb|^f0+M3YaKLj~zcILTji4d5MH(%dC@6$I zLk$W+ugU7|mU^vKri{6~;yZECq2aMBWY5cvLn+j>$8;RlYden2Hp|?pjH?or8}5e8 z3$BkzUc1db4-|vTCG03Aq{JK*Bn&U(4X9-yGgU5GmEuuEvTE^F>kDPdx;e<_caf~e zKyoW&A%|8r&dIbI_BjuDqTSNi9zqjGBNM+fsN0r2J2?L|QP4juQ*})#7tPPl1v^a{ z9-eD{z9Yv$Go@w>JIhzW< diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/bisenet_v2.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/bisenet_v2.py deleted file mode 100644 index 3880a1e18..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/bisenet_v2.py +++ /dev/null @@ -1,1119 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -BiseNet V2 Model -""" -import collections - -import tensorflow as tf - -from semantic_segmentation_zoo import cnn_basenet -from local_utils.config_utils import parse_config_utils - - -class _StemBlock(cnn_basenet.CNNBaseModel): - """ - implementation of stem block module - """ - def __init__(self, phase): - """ - - :param phase: - """ - super(_StemBlock, self).__init__() - self._phase = phase - self._is_training = self._is_net_for_training() - self._padding = 'SAME' - - def _is_net_for_training(self): - """ - if the net is used for training or not - :return: - """ - if isinstance(self._phase, tf.Tensor): - phase = self._phase - else: - phase = tf.constant(self._phase, dtype=tf.string) - return tf.equal(phase, tf.constant('train', dtype=tf.string)) - - def _conv_block(self, input_tensor, k_size, output_channels, stride, - name, padding='SAME', use_bias=False, need_activate=False): - """ - conv block in attention refine - :param input_tensor: - :param k_size: - :param output_channels: - :param stride: - :param name: - :param padding: - :param use_bias: - :return: - """ - with tf.variable_scope(name_or_scope=name): - result = self.conv2d( - inputdata=input_tensor, - out_channel=output_channels, - kernel_size=k_size, - padding=padding, - stride=stride, - use_bias=use_bias, - name='conv' - ) - if need_activate: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - result = self.relu(inputdata=result, name='relu') - else: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - return result - - def __call__(self, *args, **kwargs): - """ - - :param args: - :param kwargs: - :return: - """ - input_tensor = kwargs['input_tensor'] - name_scope = kwargs['name'] - output_channels = kwargs['output_channels'] - if 'padding' in kwargs: - self._padding = kwargs['padding'] - with tf.variable_scope(name_or_scope=name_scope): - input_tensor = self._conv_block( - input_tensor=input_tensor, - k_size=3, - output_channels=output_channels, - stride=2, - name='conv_block_1', - padding=self._padding, - use_bias=False, - need_activate=True - ) - with tf.variable_scope(name_or_scope='downsample_branch_left'): - branch_left_output = self._conv_block( - input_tensor=input_tensor, - k_size=1, - output_channels=int(output_channels / 2), - stride=1, - name='1x1_conv_block', - padding=self._padding, - use_bias=False, - need_activate=True - ) - branch_left_output = self._conv_block( - input_tensor=branch_left_output, - k_size=3, - output_channels=output_channels, - stride=2, - name='3x3_conv_block', - padding=self._padding, - use_bias=False, - need_activate=True - ) - with tf.variable_scope(name_or_scope='downsample_branch_right'): - branch_right_output = self.maxpooling( - inputdata=input_tensor, - kernel_size=3, - stride=2, - padding=self._padding, - name='maxpooling_block' - ) - result = tf.concat([branch_left_output, branch_right_output], axis=-1, name='concate_features') - result = self._conv_block( - input_tensor=result, - k_size=3, - output_channels=output_channels, - stride=1, - name='final_conv_block', - padding=self._padding, - use_bias=False, - need_activate=True - ) - return result - - -class _ContextEmbedding(cnn_basenet.CNNBaseModel): - """ - implementation of context embedding module in bisenetv2 - """ - def __init__(self, phase): - """ - - :param phase: - """ - super(_ContextEmbedding, self).__init__() - self._phase = phase - self._is_training = self._is_net_for_training() - self._padding = 'SAME' - - def _is_net_for_training(self): - """ - if the net is used for training or not - :return: - """ - if isinstance(self._phase, tf.Tensor): - phase = self._phase - else: - phase = tf.constant(self._phase, dtype=tf.string) - return tf.equal(phase, tf.constant('train', dtype=tf.string)) - - def _conv_block(self, input_tensor, k_size, output_channels, stride, - name, padding='SAME', use_bias=False, need_activate=False): - """ - conv block in attention refine - :param input_tensor: - :param k_size: - :param output_channels: - :param stride: - :param name: - :param padding: - :param use_bias: - :return: - """ - with tf.variable_scope(name_or_scope=name): - result = self.conv2d( - inputdata=input_tensor, - out_channel=output_channels, - kernel_size=k_size, - padding=padding, - stride=stride, - use_bias=use_bias, - name='conv' - ) - if need_activate: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - result = self.relu(inputdata=result, name='relu') - else: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - return result - - def __call__(self, *args, **kwargs): - """ - - :param args: - :param kwargs: - :return: - """ - input_tensor = kwargs['input_tensor'] - name_scope = kwargs['name'] - output_channels = input_tensor.get_shape().as_list()[-1] - if 'padding' in kwargs: - self._padding = kwargs['padding'] - with tf.variable_scope(name_or_scope=name_scope): - result = tf.reduce_mean(input_tensor, axis=[1, 2], keepdims=True, name='global_avg_pooling') - result = self.layerbn(result, self._is_training, 'bn') - result = self._conv_block( - input_tensor=result, - k_size=1, - output_channels=output_channels, - stride=1, - name='conv_block_1', - padding=self._padding, - use_bias=False, - need_activate=True - ) - result = tf.add(result, input_tensor, name='fused_features') - result = self.conv2d( - inputdata=result, - out_channel=output_channels, - kernel_size=3, - padding=self._padding, - stride=1, - use_bias=False, - name='final_conv_block' - ) - return result - - -class _GatherExpansion(cnn_basenet.CNNBaseModel): - """ - implementation of gather and expansion module in bisenetv2 - """ - def __init__(self, phase): - """ - - :param phase: - """ - super(_GatherExpansion, self).__init__() - self._phase = phase - self._is_training = self._is_net_for_training() - self._padding = 'SAME' - self._stride = 1 - self._expansion_factor = 6 - - def _is_net_for_training(self): - """ - if the net is used for training or not - :return: - """ - if isinstance(self._phase, tf.Tensor): - phase = self._phase - else: - phase = tf.constant(self._phase, dtype=tf.string) - return tf.equal(phase, tf.constant('train', dtype=tf.string)) - - def _conv_block(self, input_tensor, k_size, output_channels, stride, - name, padding='SAME', use_bias=False, need_activate=False): - """ - conv block in attention refine - :param input_tensor: - :param k_size: - :param output_channels: - :param stride: - :param name: - :param padding: - :param use_bias: - :return: - """ - with tf.variable_scope(name_or_scope=name): - result = self.conv2d( - inputdata=input_tensor, - out_channel=output_channels, - kernel_size=k_size, - padding=padding, - stride=stride, - use_bias=use_bias, - name='conv' - ) - if need_activate: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - result = self.relu(inputdata=result, name='relu') - else: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - return result - - def _apply_ge_when_stride_equal_one(self, input_tensor, e, name): - """ - - :param input_tensor: - :param e: - :param name - :return: - """ - input_tensor_channels = input_tensor.get_shape().as_list()[-1] - with tf.variable_scope(name_or_scope=name): - result = self._conv_block( - input_tensor=input_tensor, - k_size=3, - output_channels=input_tensor_channels, - stride=1, - name='3x3_conv_block', - padding=self._padding, - use_bias=False, - need_activate=True - ) - result = self.depthwise_conv( - input_tensor=result, - kernel_size=3, - depth_multiplier=e, - padding=self._padding, - stride=1, - name='depthwise_conv_block' - ) - result = self.layerbn(result, self._is_training, name='dw_bn') - result = self._conv_block( - input_tensor=result, - k_size=1, - output_channels=input_tensor_channels, - stride=1, - name='1x1_conv_block', - padding=self._padding, - use_bias=False, - need_activate=False - ) - result = tf.add(input_tensor, result, name='fused_features') - result = self.relu(result, name='ge_output') - return result - - def _apply_ge_when_stride_equal_two(self, input_tensor, output_channels, e, name): - """ - - :param input_tensor: - :param output_channels: - :param e: - :param name - :return: - """ - input_tensor_channels = input_tensor.get_shape().as_list()[-1] - with tf.variable_scope(name_or_scope=name): - input_proj = self.depthwise_conv( - input_tensor=input_tensor, - kernel_size=3, - name='input_project_dw_conv_block', - depth_multiplier=1, - padding=self._padding, - stride=self._stride - ) - input_proj = self.layerbn(input_proj, self._is_training, name='input_project_bn') - input_proj = self._conv_block( - input_tensor=input_proj, - k_size=1, - output_channels=output_channels, - stride=1, - name='input_project_1x1_conv_block', - padding=self._padding, - use_bias=False, - need_activate=False - ) - - result = self._conv_block( - input_tensor=input_tensor, - k_size=3, - output_channels=input_tensor_channels, - stride=1, - name='3x3_conv_block', - padding=self._padding, - use_bias=False, - need_activate=True - ) - result = self.depthwise_conv( - input_tensor=result, - kernel_size=3, - depth_multiplier=e, - padding=self._padding, - stride=2, - name='depthwise_conv_block_1' - ) - result = self.layerbn(result, self._is_training, name='dw_bn_1') - result = self.depthwise_conv( - input_tensor=result, - kernel_size=3, - depth_multiplier=1, - padding=self._padding, - stride=1, - name='depthwise_conv_block_2' - ) - result = self.layerbn(result, self._is_training, name='dw_bn_2') - result = self._conv_block( - input_tensor=result, - k_size=1, - output_channels=output_channels, - stride=1, - name='1x1_conv_block', - padding=self._padding, - use_bias=False, - need_activate=False - ) - result = tf.add(input_proj, result, name='fused_features') - result = self.relu(result, name='ge_output') - return result - - def __call__(self, *args, **kwargs): - """ - - :param args: - :param kwargs: - :return: - """ - input_tensor = kwargs['input_tensor'] - name_scope = kwargs['name'] - output_channels = input_tensor.get_shape().as_list()[-1] - if 'output_channels' in kwargs: - output_channels = kwargs['output_channels'] - if 'padding' in kwargs: - self._padding = kwargs['padding'] - if 'stride' in kwargs: - self._stride = kwargs['stride'] - if 'e' in kwargs: - self._expansion_factor = kwargs['e'] - - with tf.variable_scope(name_or_scope=name_scope): - if self._stride == 1: - result = self._apply_ge_when_stride_equal_one( - input_tensor=input_tensor, - e=self._expansion_factor, - name='stride_equal_one_module' - ) - elif self._stride == 2: - result = self._apply_ge_when_stride_equal_two( - input_tensor=input_tensor, - output_channels=output_channels, - e=self._expansion_factor, - name='stride_equal_two_module' - ) - else: - raise NotImplementedError('No function matched with stride of {}'.format(self._stride)) - return result - - -class _GuidedAggregation(cnn_basenet.CNNBaseModel): - """ - implementation of guided aggregation module in bisenetv2 - """ - - def __init__(self, phase): - """ - - :param phase: - """ - super(_GuidedAggregation, self).__init__() - self._phase = phase - self._is_training = self._is_net_for_training() - self._padding = 'SAME' - - def _is_net_for_training(self): - """ - if the net is used for training or not - :return: - """ - if isinstance(self._phase, tf.Tensor): - phase = self._phase - else: - phase = tf.constant(self._phase, dtype=tf.string) - return tf.equal(phase, tf.constant('train', dtype=tf.string)) - - def _conv_block(self, input_tensor, k_size, output_channels, stride, - name, padding='SAME', use_bias=False, need_activate=False): - """ - conv block in attention refine - :param input_tensor: - :param k_size: - :param output_channels: - :param stride: - :param name: - :param padding: - :param use_bias: - :return: - """ - with tf.variable_scope(name_or_scope=name): - result = self.conv2d( - inputdata=input_tensor, - out_channel=output_channels, - kernel_size=k_size, - padding=padding, - stride=stride, - use_bias=use_bias, - name='conv' - ) - if need_activate: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - result = self.relu(inputdata=result, name='relu') - else: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - return result - - def __call__(self, *args, **kwargs): - """ - - :param args: - :param kwargs: - :return: - """ - detail_input_tensor = kwargs['detail_input_tensor'] - semantic_input_tensor = kwargs['semantic_input_tensor'] - name_scope = kwargs['name'] - output_channels = detail_input_tensor.get_shape().as_list()[-1] - if 'padding' in kwargs: - self._padding = kwargs['padding'] - - with tf.variable_scope(name_or_scope=name_scope): - with tf.variable_scope(name_or_scope='detail_branch'): - detail_branch_remain = self.depthwise_conv( - input_tensor=detail_input_tensor, - kernel_size=3, - name='3x3_dw_conv_block', - depth_multiplier=1, - padding=self._padding, - stride=1 - ) - detail_branch_remain = self.layerbn(detail_branch_remain, self._is_training, name='bn_1') - detail_branch_remain = self.conv2d( - inputdata=detail_branch_remain, - out_channel=output_channels, - kernel_size=1, - padding=self._padding, - stride=1, - use_bias=False, - name='1x1_conv_block' - ) - - detail_branch_downsample = self._conv_block( - input_tensor=detail_input_tensor, - k_size=3, - output_channels=output_channels, - stride=2, - name='3x3_conv_block', - padding=self._padding, - use_bias=False, - need_activate=False - ) - detail_branch_downsample = self.avgpooling( - inputdata=detail_branch_downsample, - kernel_size=3, - stride=2, - padding=self._padding, - name='avg_pooling_block' - ) - - with tf.variable_scope(name_or_scope='semantic_branch'): - semantic_branch_remain = self.depthwise_conv( - input_tensor=semantic_input_tensor, - kernel_size=3, - name='3x3_dw_conv_block', - depth_multiplier=1, - padding=self._padding, - stride=1 - ) - semantic_branch_remain = self.layerbn(semantic_branch_remain, self._is_training, name='bn_1') - semantic_branch_remain = self.conv2d( - inputdata=semantic_branch_remain, - out_channel=output_channels, - kernel_size=1, - padding=self._padding, - stride=1, - use_bias=False, - name='1x1_conv_block' - ) - semantic_branch_remain = self.sigmoid(semantic_branch_remain, name='semantic_remain_sigmoid') - - semantic_branch_upsample = self._conv_block( - input_tensor=semantic_input_tensor, - k_size=3, - output_channels=output_channels, - stride=1, - name='3x3_conv_block', - padding=self._padding, - use_bias=False, - need_activate=False - ) - semantic_branch_upsample = tf.image.resize_bilinear( - semantic_branch_upsample, - detail_input_tensor.shape[1:3], - name='semantic_upsample_features' - ) - semantic_branch_upsample = self.sigmoid(semantic_branch_upsample, name='semantic_upsample_sigmoid') - - with tf.variable_scope(name_or_scope='aggregation_features'): - guided_features_remain = tf.multiply( - detail_branch_remain, - semantic_branch_upsample, - name='guided_detail_features' - ) - guided_features_downsample = tf.multiply( - detail_branch_downsample, - semantic_branch_remain, - name='guided_semantic_features' - ) - guided_features_upsample = tf.image.resize_bilinear( - guided_features_downsample, - detail_input_tensor.shape[1:3], - name='guided_upsample_features' - ) - guided_features = tf.add(guided_features_remain, guided_features_upsample, name='fused_features') - guided_features = self._conv_block( - input_tensor=guided_features, - k_size=3, - output_channels=output_channels, - stride=1, - name='aggregation_feature_output', - padding=self._padding, - use_bias=False, - need_activate=True - ) - return guided_features - - -class _SegmentationHead(cnn_basenet.CNNBaseModel): - """ - implementation of segmentation head in bisenet v2 - """ - def __init__(self, phase): - """ - - """ - super(_SegmentationHead, self).__init__() - self._phase = phase - self._is_training = self._is_net_for_training() - self._padding = 'SAME' - - def _is_net_for_training(self): - """ - if the net is used for training or not - :return: - """ - if isinstance(self._phase, tf.Tensor): - phase = self._phase - else: - phase = tf.constant(self._phase, dtype=tf.string) - return tf.equal(phase, tf.constant('train', dtype=tf.string)) - - def _conv_block(self, input_tensor, k_size, output_channels, stride, - name, padding='SAME', use_bias=False, need_activate=False): - """ - conv block in attention refine - :param input_tensor: - :param k_size: - :param output_channels: - :param stride: - :param name: - :param padding: - :param use_bias: - :return: - """ - with tf.variable_scope(name_or_scope=name): - result = self.conv2d( - inputdata=input_tensor, - out_channel=output_channels, - kernel_size=k_size, - padding=padding, - stride=stride, - use_bias=use_bias, - name='conv' - ) - if need_activate: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - result = self.relu(inputdata=result, name='relu') - else: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - return result - - def __call__(self, *args, **kwargs): - """ - - :param args: - :param kwargs: - :return: - """ - input_tensor = kwargs['input_tensor'] - name_scope = kwargs['name'] - ratio = kwargs['upsample_ratio'] - input_tensor_size = input_tensor.get_shape().as_list()[1:3] - output_tensor_size = [int(tmp * ratio) for tmp in input_tensor_size] - feature_dims = kwargs['feature_dims'] - classes_nums = kwargs['classes_nums'] - if 'padding' in kwargs: - self._padding = kwargs['padding'] - - with tf.variable_scope(name_or_scope=name_scope): - result = self._conv_block( - input_tensor=input_tensor, - k_size=3, - output_channels=feature_dims, - stride=1, - name='3x3_conv_block', - padding=self._padding, - use_bias=False, - need_activate=True - ) - result = self.conv2d( - inputdata=result, - out_channel=classes_nums, - kernel_size=1, - padding=self._padding, - stride=1, - use_bias=False, - name='1x1_conv_block' - ) - result = tf.image.resize_bilinear( - result, - output_tensor_size, - name='segmentation_head_logits' - ) - return result - - -class BiseNetV2(cnn_basenet.CNNBaseModel): - """ - implementation of bisenet v2 - """ - def __init__(self, phase, cfg): - """ - - """ - super(BiseNetV2, self).__init__() - self._cfg = cfg - self._phase = phase - self._is_training = self._is_net_for_training() - - # set model hyper params - self._class_nums = self._cfg.DATASET.NUM_CLASSES - self._weights_decay = self._cfg.SOLVER.WEIGHT_DECAY - self._loss_type = self._cfg.SOLVER.LOSS_TYPE - self._enable_ohem = self._cfg.SOLVER.OHEM.ENABLE - if self._enable_ohem: - self._ohem_score_thresh = self._cfg.SOLVER.OHEM.SCORE_THRESH - self._ohem_min_sample_nums = self._cfg.SOLVER.OHEM.MIN_SAMPLE_NUMS - self._ge_expand_ratio = self._cfg.MODEL.BISENETV2.GE_EXPAND_RATIO - self._semantic_channel_ratio = self._cfg.MODEL.BISENETV2.SEMANTIC_CHANNEL_LAMBDA - self._seg_head_ratio = self._cfg.MODEL.BISENETV2.SEGHEAD_CHANNEL_EXPAND_RATIO - - # set module used in bisenetv2 - self._se_block = _StemBlock(phase=phase) - self._context_embedding_block = _ContextEmbedding(phase=phase) - self._ge_block = _GatherExpansion(phase=phase) - self._guided_aggregation_block = _GuidedAggregation(phase=phase) - self._seg_head_block = _SegmentationHead(phase=phase) - - # set detail branch channels - self._detail_branch_channels = self._build_detail_branch_hyper_params() - # set semantic branch channels - self._semantic_branch_channels = self._build_semantic_branch_hyper_params() - - # set op block params - self._block_maps = { - 'conv_block': self._conv_block, - 'se': self._se_block, - 'ge': self._ge_block, - 'ce': self._context_embedding_block, - } - - self._net_intermediate_results = collections.OrderedDict() - - def _is_net_for_training(self): - """ - if the net is used for training or not - :return: - """ - if isinstance(self._phase, tf.Tensor): - phase = self._phase - else: - phase = tf.constant(self._phase, dtype=tf.string) - return tf.equal(phase, tf.constant('train', dtype=tf.string)) - - @classmethod - def _build_detail_branch_hyper_params(cls): - """ - - :return: - """ - params = [ - ('stage_1', [('conv_block', 3, 64, 2, 1), ('conv_block', 3, 64, 1, 1)]), - ('stage_2', [('conv_block', 3, 64, 2, 1), ('conv_block', 3, 64, 1, 2)]), - ('stage_3', [('conv_block', 3, 128, 2, 1), ('conv_block', 3, 128, 1, 2)]), - ] - return collections.OrderedDict(params) - - def _build_semantic_branch_hyper_params(self): - """ - - :return: - """ - stage_1_channels = int(self._detail_branch_channels['stage_1'][0][2] * self._semantic_channel_ratio) - stage_3_channels = int(self._detail_branch_channels['stage_3'][0][2] * self._semantic_channel_ratio) - params = [ - ('stage_1', [('se', 3, stage_1_channels, 1, 4, 1)]), - ('stage_3', [('ge', 3, stage_3_channels, self._ge_expand_ratio, 2, 1), - ('ge', 3, stage_3_channels, self._ge_expand_ratio, 1, 1)]), - ('stage_4', [('ge', 3, stage_3_channels * 2, self._ge_expand_ratio, 2, 1), - ('ge', 3, stage_3_channels * 2, self._ge_expand_ratio, 1, 1)]), - ('stage_5', [('ge', 3, stage_3_channels * 4, self._ge_expand_ratio, 2, 1), - ('ge', 3, stage_3_channels * 4, self._ge_expand_ratio, 1, 3), - ('ce', 3, stage_3_channels * 4, self._ge_expand_ratio, 1, 1)]) - ] - return collections.OrderedDict(params) - - def _conv_block(self, input_tensor, k_size, output_channels, stride, - name, padding='SAME', use_bias=False, need_activate=False): - """ - conv block in attention refine - :param input_tensor: - :param k_size: - :param output_channels: - :param stride: - :param name: - :param padding: - :param use_bias: - :return: - """ - with tf.variable_scope(name_or_scope=name): - result = self.conv2d( - inputdata=input_tensor, - out_channel=output_channels, - kernel_size=k_size, - padding=padding, - stride=stride, - use_bias=use_bias, - name='conv' - ) - if need_activate: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - result = self.relu(inputdata=result, name='relu') - else: - result = self.layerbn(inputdata=result, is_training=self._is_training, name='bn', scale=True) - return result - - def build_detail_branch(self, input_tensor, name): - """ - - :param input_tensor: - :param name: - :return: - """ - result = input_tensor - with tf.variable_scope(name_or_scope=name): - for stage_name, stage_params in self._detail_branch_channels.items(): - with tf.variable_scope(stage_name): - for block_index, param in enumerate(stage_params): - block_op = self._block_maps[param[0]] - k_size = param[1] - output_channels = param[2] - stride = param[3] - repeat_times = param[4] - for repeat_index in range(repeat_times): - with tf.variable_scope(name_or_scope='conv_block_{:d}_repeat_{:d}'.format( - block_index + 1, repeat_index + 1)): - if stage_name == 'stage_3' and block_index == 1 and repeat_index == 1: - result = block_op( - input_tensor=result, - k_size=k_size, - output_channels=output_channels, - stride=stride, - name='3x3_conv', - padding='SAME', - use_bias=False, - need_activate=False - ) - else: - result = block_op( - input_tensor=result, - k_size=k_size, - output_channels=output_channels, - stride=stride, - name='3x3_conv', - padding='SAME', - use_bias=False, - need_activate=True - ) - return result - - def build_semantic_branch(self, input_tensor, name, prepare_data_for_booster=False): - """ - - :param input_tensor: - :param name: - :param prepare_data_for_booster: - :return: - """ - seg_head_inputs = collections.OrderedDict() - result = input_tensor - source_input_tensor_size = input_tensor.get_shape().as_list()[1:3] - with tf.variable_scope(name_or_scope=name): - for stage_name, stage_params in self._semantic_branch_channels.items(): - seg_head_input = input_tensor - with tf.variable_scope(stage_name): - for block_index, param in enumerate(stage_params): - block_op_name = param[0] - block_op = self._block_maps[block_op_name] - output_channels = param[2] - expand_ratio = param[3] - stride = param[4] - repeat_times = param[5] - for repeat_index in range(repeat_times): - with tf.variable_scope(name_or_scope='{:s}_block_{:d}_repeat_{:d}'.format( - block_op_name, block_index + 1, repeat_index + 1)): - if block_op_name == 'ge': - result = block_op( - input_tensor=result, - name='gather_expansion_block', - stride=stride, - e=expand_ratio, - output_channels=output_channels - ) - seg_head_input = result - elif block_op_name == 'ce': - result = block_op( - input_tensor=result, - name='context_embedding_block' - ) - elif block_op_name == 'se': - result = block_op( - input_tensor=result, - output_channels=output_channels, - name='stem_block' - ) - seg_head_input = result - else: - raise NotImplementedError('Not support block type: {:s}'.format(block_op_name)) - if prepare_data_for_booster: - result_tensor_size = result.get_shape().as_list()[1:3] - result_tensor_dims = result.get_shape().as_list()[-1] - upsample_ratio = int(source_input_tensor_size[0] / result_tensor_size[0]) - feature_dims = result_tensor_dims * self._seg_head_ratio - seg_head_inputs[stage_name] = self._seg_head_block( - input_tensor=seg_head_input, - name='block_{:d}_seg_head_block'.format(block_index + 1), - upsample_ratio=upsample_ratio, - feature_dims=feature_dims, - classes_nums=self._class_nums - ) - return result, seg_head_inputs - - def build_aggregation_branch(self, detail_output, semantic_output, name): - """ - - :param detail_output: - :param semantic_output: - :param name: - :return: - """ - with tf.variable_scope(name_or_scope=name): - result = self._guided_aggregation_block( - detail_input_tensor=detail_output, - semantic_input_tensor=semantic_output, - name='guided_aggregation_block' - ) - return result - - def build_instance_segmentation_branch(self, input_tensor, name): - """ - - :param input_tensor: - :param name: - :return: - """ - input_tensor_size = input_tensor.get_shape().as_list()[1:3] - output_tensor_size = [int(tmp * 8) for tmp in input_tensor_size] - - with tf.variable_scope(name_or_scope=name): - output_tensor = self._conv_block( - input_tensor=input_tensor, - k_size=3, - output_channels=64, - stride=1, - name='conv_3x3', - use_bias=False, - need_activate=True - ) - output_tensor = self._conv_block( - input_tensor=output_tensor, - k_size=1, - output_channels=128, - stride=1, - name='conv_1x1', - use_bias=False, - need_activate=False - ) - output_tensor = tf.image.resize_bilinear( - output_tensor, - output_tensor_size, - name='instance_logits' - ) - return output_tensor - - def build_binary_segmentation_branch(self, input_tensor, name): - """ - - :param input_tensor: - :param name: - :return: - """ - input_tensor_size = input_tensor.get_shape().as_list()[1:3] - output_tensor_size = [int(tmp * 8) for tmp in input_tensor_size] - - with tf.variable_scope(name_or_scope=name): - output_tensor = self._conv_block( - input_tensor=input_tensor, - k_size=3, - output_channels=64, - stride=1, - name='conv_3x3', - use_bias=False, - need_activate=True - ) - output_tensor = self._conv_block( - input_tensor=output_tensor, - k_size=1, - output_channels=128, - stride=1, - name='conv_1x1', - use_bias=False, - need_activate=True - ) - output_tensor = self._conv_block( - input_tensor=output_tensor, - k_size=1, - output_channels=self._class_nums, - stride=1, - name='final_conv', - use_bias=False, - need_activate=False - ) - output_tensor = tf.image.resize_bilinear( - output_tensor, - output_tensor_size, - name='binary_logits' - ) - return output_tensor - - def build_model(self, input_tensor, name, reuse=False): - """ - - :param input_tensor: - :param name: - :param reuse: - :return: - """ - with tf.variable_scope(name_or_scope=name, reuse=reuse): - # build detail branch - detail_branch_output = self.build_detail_branch( - input_tensor=input_tensor, - name='detail_branch' - ) - # build semantic branch - semantic_branch_output, _ = self.build_semantic_branch( - input_tensor=input_tensor, - name='semantic_branch', - prepare_data_for_booster=False - ) - # build aggregation branch - aggregation_branch_output = self.build_aggregation_branch( - detail_output=detail_branch_output, - semantic_output=semantic_branch_output, - name='aggregation_branch' - ) - # build binary and instance segmentation branch - binary_seg_branch_output = self.build_binary_segmentation_branch( - input_tensor=aggregation_branch_output, - name='binary_segmentation_branch' - ) - instance_seg_branch_output = self.build_instance_segmentation_branch( - input_tensor=aggregation_branch_output, - name='instance_segmentation_branch' - ) - # gather frontend output result - self._net_intermediate_results['binary_segment_logits'] = { - 'data': binary_seg_branch_output, - 'shape': binary_seg_branch_output.get_shape().as_list() - } - self._net_intermediate_results['instance_segment_logits'] = { - 'data': instance_seg_branch_output, - 'shape': instance_seg_branch_output.get_shape().as_list() - } - return self._net_intermediate_results - - -if __name__ == '__main__': - """ - test code - """ - test_in_tensor = tf.placeholder(dtype=tf.float32, shape=[1, 256, 512, 3], name='input') - model = BiseNetV2(phase='train', cfg=parse_config_utils.lanenet_cfg) - ret = model.build_model(test_in_tensor, name='bisenetv2') - for layer_name, layer_info in ret.items(): - print('layer name: {:s} shape: {}'.format(layer_name, layer_info['shape'])) - diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/cnn_basenet.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/cnn_basenet.py deleted file mode 100644 index fefb814d2..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/cnn_basenet.py +++ /dev/null @@ -1,549 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -The base convolution neural networks mainly implement some useful cnn functions -""" -import tensorflow as tf -import numpy as np - - -class CNNBaseModel(object): - """ - Base model for other specific cnn ctpn_models - """ - - def __init__(self): - pass - - @staticmethod - def conv2d(inputdata, out_channel, kernel_size, padding='SAME', - stride=1, w_init=None, b_init=None, - split=1, use_bias=True, data_format='NHWC', name=None): - """ - Packing the tensorflow conv2d function. - :param name: op name - :param inputdata: A 4D tensorflow tensor which ust have known number of channels, but can have other - unknown dimensions. - :param out_channel: number of output channel. - :param kernel_size: int so only support square kernel convolution - :param padding: 'VALID' or 'SAME' - :param stride: int so only support square stride - :param w_init: initializer for convolution weights - :param b_init: initializer for bias - :param split: split channels as used in Alexnet mainly group for GPU memory save. - :param use_bias: whether to use bias. - :param data_format: default set to NHWC according tensorflow - :return: tf.Tensor named ``output`` - """ - with tf.variable_scope(name): - in_shape = inputdata.get_shape().as_list() - channel_axis = 3 if data_format == 'NHWC' else 1 - in_channel = in_shape[channel_axis] - assert in_channel is not None, "[Conv2D] Input cannot have unknown channel!" - assert in_channel % split == 0 - assert out_channel % split == 0 - - padding = padding.upper() - - if isinstance(kernel_size, list): - filter_shape = [kernel_size[0], kernel_size[1]] + [in_channel / split, out_channel] - else: - filter_shape = [kernel_size, kernel_size] + [in_channel / split, out_channel] - - if isinstance(stride, list): - strides = [1, stride[0], stride[1], 1] if data_format == 'NHWC' \ - else [1, 1, stride[0], stride[1]] - else: - strides = [1, stride, stride, 1] if data_format == 'NHWC' \ - else [1, 1, stride, stride] - - if w_init is None: - w_init = tf.contrib.layers.variance_scaling_initializer() - if b_init is None: - b_init = tf.constant_initializer() - - w = tf.get_variable('W', filter_shape, initializer=w_init) - b = None - - if use_bias: - b = tf.get_variable('b', [out_channel], initializer=b_init) - - if split == 1: - conv = tf.nn.conv2d(inputdata, w, strides, padding, data_format=data_format) - else: - inputs = tf.split(inputdata, split, channel_axis) - kernels = tf.split(w, split, 3) - outputs = [tf.nn.conv2d(i, k, strides, padding, data_format=data_format) - for i, k in zip(inputs, kernels)] - conv = tf.concat(outputs, channel_axis) - - ret = tf.identity(tf.nn.bias_add(conv, b, data_format=data_format) - if use_bias else conv, name=name) - - return ret - - @staticmethod - def depthwise_conv(input_tensor, kernel_size, name, depth_multiplier=1, - padding='SAME', stride=1): - """ - - :param input_tensor: - :param kernel_size: - :param name: - :param depth_multiplier: - :param padding: - :param stride: - :return: - """ - with tf.variable_scope(name_or_scope=name): - in_shape = input_tensor.get_shape().as_list() - in_channel = in_shape[3] - padding = padding.upper() - - depthwise_filter_shape = [kernel_size, kernel_size] + [in_channel, depth_multiplier] - w_init = tf.contrib.layers.variance_scaling_initializer() - - depthwise_filter = tf.get_variable( - name='depthwise_filter_w', shape=depthwise_filter_shape, - initializer=w_init - ) - - result = tf.nn.depthwise_conv2d( - input=input_tensor, - filter=depthwise_filter, - strides=[1, stride, stride, 1], - padding=padding, - name='depthwise_conv_output' - ) - return result - - @staticmethod - def relu(inputdata, name=None): - """ - - :param name: - :param inputdata: - :return: - """ - return tf.nn.relu(features=inputdata, name=name) - - @staticmethod - def sigmoid(inputdata, name=None): - """ - - :param name: - :param inputdata: - :return: - """ - return tf.nn.sigmoid(x=inputdata, name=name) - - @staticmethod - def maxpooling(inputdata, kernel_size, stride=None, padding='VALID', - data_format='NHWC', name=None): - """ - - :param name: - :param inputdata: - :param kernel_size: - :param stride: - :param padding: - :param data_format: - :return: - """ - padding = padding.upper() - - if stride is None: - stride = kernel_size - - if isinstance(kernel_size, list): - kernel = [1, kernel_size[0], kernel_size[1], 1] if data_format == 'NHWC' else \ - [1, 1, kernel_size[0], kernel_size[1]] - else: - kernel = [1, kernel_size, kernel_size, 1] if data_format == 'NHWC' \ - else [1, 1, kernel_size, kernel_size] - - if isinstance(stride, list): - strides = [1, stride[0], stride[1], 1] if data_format == 'NHWC' \ - else [1, 1, stride[0], stride[1]] - else: - strides = [1, stride, stride, 1] if data_format == 'NHWC' \ - else [1, 1, stride, stride] - - return tf.nn.max_pool(value=inputdata, ksize=kernel, strides=strides, padding=padding, - data_format=data_format, name=name) - - @staticmethod - def avgpooling(inputdata, kernel_size, stride=None, padding='VALID', - data_format='NHWC', name=None): - """ - - :param name: - :param inputdata: - :param kernel_size: - :param stride: - :param padding: - :param data_format: - :return: - """ - if stride is None: - stride = kernel_size - - kernel = [1, kernel_size, kernel_size, 1] if data_format == 'NHWC' \ - else [1, 1, kernel_size, kernel_size] - - strides = [1, stride, stride, 1] if data_format == 'NHWC' else [1, 1, stride, stride] - - return tf.nn.avg_pool(value=inputdata, ksize=kernel, strides=strides, padding=padding, - data_format=data_format, name=name) - - @staticmethod - def globalavgpooling(inputdata, data_format='NHWC', name=None): - """ - - :param name: - :param inputdata: - :param data_format: - :return: - """ - assert inputdata.shape.ndims == 4 - assert data_format in ['NHWC', 'NCHW'] - - axis = [1, 2] if data_format == 'NHWC' else [2, 3] - - return tf.reduce_mean(input_tensor=inputdata, axis=axis, name=name) - - @staticmethod - def layernorm(inputdata, epsilon=1e-5, use_bias=True, use_scale=True, - data_format='NHWC', name=None): - """ - :param name: - :param inputdata: - :param epsilon: epsilon to avoid divide-by-zero. - :param use_bias: whether to use the extra affine transformation or not. - :param use_scale: whether to use the extra affine transformation or not. - :param data_format: - :return: - """ - shape = inputdata.get_shape().as_list() - ndims = len(shape) - assert ndims in [2, 4] - - mean, var = tf.nn.moments(inputdata, list(range(1, len(shape))), keep_dims=True) - - if data_format == 'NCHW': - channnel = shape[1] - new_shape = [1, channnel, 1, 1] - else: - channnel = shape[-1] - new_shape = [1, 1, 1, channnel] - if ndims == 2: - new_shape = [1, channnel] - - if use_bias: - beta = tf.get_variable('beta', [channnel], initializer=tf.constant_initializer()) - beta = tf.reshape(beta, new_shape) - else: - beta = tf.zeros([1] * ndims, name='beta') - if use_scale: - gamma = tf.get_variable('gamma', [channnel], initializer=tf.constant_initializer(1.0)) - gamma = tf.reshape(gamma, new_shape) - else: - gamma = tf.ones([1] * ndims, name='gamma') - - return tf.nn.batch_normalization(inputdata, mean, var, beta, gamma, epsilon, name=name) - - @staticmethod - def instancenorm(inputdata, epsilon=1e-5, data_format='NHWC', use_affine=True, name=None): - """ - - :param name: - :param inputdata: - :param epsilon: - :param data_format: - :param use_affine: - :return: - """ - shape = inputdata.get_shape().as_list() - if len(shape) != 4: - raise ValueError("Input data of instancebn layer has to be 4D tensor") - - if data_format == 'NHWC': - axis = [1, 2] - ch = shape[3] - new_shape = [1, 1, 1, ch] - else: - axis = [2, 3] - ch = shape[1] - new_shape = [1, ch, 1, 1] - if ch is None: - raise ValueError("Input of instancebn require known channel!") - - mean, var = tf.nn.moments(inputdata, axis, keep_dims=True) - - if not use_affine: - return tf.divide(inputdata - mean, tf.sqrt(var + epsilon), name='output') - - beta = tf.get_variable('beta', [ch], initializer=tf.constant_initializer()) - beta = tf.reshape(beta, new_shape) - gamma = tf.get_variable('gamma', [ch], initializer=tf.constant_initializer(1.0)) - gamma = tf.reshape(gamma, new_shape) - return tf.nn.batch_normalization(inputdata, mean, var, beta, gamma, epsilon, name=name) - - @staticmethod - def dropout(inputdata, keep_prob, noise_shape=None, name=None): - """ - - :param name: - :param inputdata: - :param keep_prob: - :param noise_shape: - :return: - """ - return tf.nn.dropout(inputdata, keep_prob=keep_prob, noise_shape=noise_shape, name=name) - - @staticmethod - def fullyconnect(inputdata, out_dim, w_init=None, b_init=None, - use_bias=True, name=None): - """ - Fully-Connected layer, takes a N>1D tensor and returns a 2D tensor. - It is an equivalent of `tf.layers.dense` except for naming conventions. - - :param inputdata: a tensor to be flattened except for the first dimension. - :param out_dim: output dimension - :param w_init: initializer for w. Defaults to `variance_scaling_initializer`. - :param b_init: initializer for b. Defaults to zero - :param use_bias: whether to use bias. - :param name: - :return: tf.Tensor: a NC tensor named ``output`` with attribute `variables`. - """ - shape = inputdata.get_shape().as_list()[1:] - if None not in shape: - inputdata = tf.reshape(inputdata, [-1, int(np.prod(shape))]) - else: - inputdata = tf.reshape(inputdata, tf.stack([tf.shape(inputdata)[0], -1])) - - if w_init is None: - w_init = tf.contrib.layers.variance_scaling_initializer() - if b_init is None: - b_init = tf.constant_initializer() - - ret = tf.layers.dense(inputs=inputdata, activation=lambda x: tf.identity(x, name='output'), - use_bias=use_bias, name=name, - kernel_initializer=w_init, bias_initializer=b_init, - trainable=True, units=out_dim) - return ret - - @staticmethod - def layerbn(inputdata, is_training, name, scale=True): - """ - - :param inputdata: - :param is_training: - :param name: - :param scale: - :return: - """ - - # a = tf.layers.batch_normalization(inputs=inputdata, training=False, name=name, scale=scale, fused=False) - - return tf.layers.batch_normalization(inputs=inputdata, training=False, name=name, scale=scale) - # return inputdata - - - @staticmethod - def layergn(inputdata, name, group_size=32, esp=1e-5): - """ - - :param inputdata: - :param name: - :param group_size: - :param esp: - :return: - """ - with tf.variable_scope(name): - inputdata = tf.transpose(inputdata, [0, 3, 1, 2]) - n, c, h, w = inputdata.get_shape().as_list() - group_size = min(group_size, c) - inputdata = tf.reshape(inputdata, [-1, group_size, c // group_size, h, w]) - mean, var = tf.nn.moments(inputdata, [2, 3, 4], keep_dims=True) - inputdata = (inputdata - mean) / tf.sqrt(var + esp) - - # 每个通道的gamma和beta - gamma = tf.Variable(tf.constant(1.0, shape=[c]), dtype=tf.float32, name='gamma') - beta = tf.Variable(tf.constant(0.0, shape=[c]), dtype=tf.float32, name='beta') - gamma = tf.reshape(gamma, [1, c, 1, 1]) - beta = tf.reshape(beta, [1, c, 1, 1]) - - # 根据论文进行转换 [n, c, h, w, c] 到 [n, h, w, c] - output = tf.reshape(inputdata, [-1, c, h, w]) - output = output * gamma + beta - output = tf.transpose(output, [0, 2, 3, 1]) - - return output - - @staticmethod - def squeeze(inputdata, axis=None, name=None): - """ - - :param inputdata: - :param axis: - :param name: - :return: - """ - return tf.squeeze(input=inputdata, axis=axis, name=name) - - @staticmethod - def deconv2d(inputdata, out_channel, kernel_size, padding='SAME', - stride=1, w_init=None, b_init=None, - use_bias=True, activation=None, data_format='channels_last', - trainable=True, name=None): - """ - Packing the tensorflow conv2d function. - :param name: op name - :param inputdata: A 4D tensorflow tensor which ust have known number of channels, but can have other - unknown dimensions. - :param out_channel: number of output channel. - :param kernel_size: int so only support square kernel convolution - :param padding: 'VALID' or 'SAME' - :param stride: int so only support square stride - :param w_init: initializer for convolution weights - :param b_init: initializer for bias - :param activation: whether to apply a activation func to deconv result - :param use_bias: whether to use bias. - :param data_format: default set to NHWC according tensorflow - :return: tf.Tensor named ``output`` - """ - with tf.variable_scope(name): - in_shape = inputdata.get_shape().as_list() - channel_axis = 3 if data_format == 'channels_last' else 1 - in_channel = in_shape[channel_axis] - assert in_channel is not None, "[Deconv2D] Input cannot have unknown channel!" - - padding = padding.upper() - - if w_init is None: - w_init = tf.contrib.layers.variance_scaling_initializer() - if b_init is None: - b_init = tf.constant_initializer() - - ret = tf.layers.conv2d_transpose(inputs=inputdata, filters=out_channel, - kernel_size=kernel_size, - strides=stride, padding=padding, - data_format=data_format, - activation=activation, use_bias=use_bias, - kernel_initializer=w_init, - bias_initializer=b_init, trainable=trainable, - name=name) - return ret - - @staticmethod - def dilation_conv(input_tensor, k_size, out_dims, rate, padding='SAME', - w_init=None, b_init=None, use_bias=False, name=None): - """ - - :param input_tensor: - :param k_size: - :param out_dims: - :param rate: - :param padding: - :param w_init: - :param b_init: - :param use_bias: - :param name: - :return: - """ - with tf.variable_scope(name): - in_shape = input_tensor.get_shape().as_list() - in_channel = in_shape[3] - assert in_channel is not None, "[Conv2D] Input cannot have unknown channel!" - - padding = padding.upper() - - if isinstance(k_size, list): - filter_shape = [k_size[0], k_size[1]] + [in_channel, out_dims] - else: - filter_shape = [k_size, k_size] + [in_channel, out_dims] - - if w_init is None: - w_init = tf.contrib.layers.variance_scaling_initializer() - if b_init is None: - b_init = tf.constant_initializer() - - w = tf.get_variable('W', filter_shape, initializer=w_init) - b = None - - if use_bias: - b = tf.get_variable('b', [out_dims], initializer=b_init) - - conv = tf.nn.atrous_conv2d(value=input_tensor, filters=w, rate=rate, - padding=padding, name='dilation_conv') - - if use_bias: - ret = tf.add(conv, b) - else: - ret = conv - - return ret - - @staticmethod - def spatial_dropout(input_tensor, keep_prob, is_training, name, seed=1234): - """ - 空间dropout实现 - :param input_tensor: - :param keep_prob: - :param is_training: - :param name: - :param seed: - :return: - """ - - def f1(): - input_shape = input_tensor.get_shape().as_list() - noise_shape = tf.constant(value=[input_shape[0], 1, 1, input_shape[3]]) - return tf.nn.dropout(input_tensor, keep_prob, noise_shape, seed=seed, name="spatial_dropout") - - def f2(): - return input_tensor - - with tf.variable_scope(name_or_scope=name): - - output = tf.cond(is_training, f1, f2) - - return output - - @staticmethod - def lrelu(inputdata, name, alpha=0.2): - """ - - :param inputdata: - :param alpha: - :param name: - :return: - """ - with tf.variable_scope(name): - return tf.nn.relu(inputdata) - alpha * tf.nn.relu(-inputdata) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/vgg16_based_fcn.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/vgg16_based_fcn.py deleted file mode 100644 index 01ffb1f23..000000000 --- a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/semantic_segmentation_zoo/vgg16_based_fcn.py +++ /dev/null @@ -1,394 +0,0 @@ -# Copyright 2017 The TensorFlow Authors. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================ -# Copyright 2021 Huawei Technologies Co., Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" -Implement VGG16 based fcn net for semantic segmentation -""" -import collections - -import tensorflow as tf - -from semantic_segmentation_zoo import cnn_basenet -from local_utils.config_utils import parse_config_utils - - -class VGG16FCN(cnn_basenet.CNNBaseModel): - """ - VGG 16 based fcn net for semantic segmentation - """ - def __init__(self, phase, cfg): - """ - - """ - super(VGG16FCN, self).__init__() - self._cfg = cfg - self._phase = phase - self._is_training = self._is_net_for_training() - self._net_intermediate_results = collections.OrderedDict() - self._class_nums = self._cfg.DATASET.NUM_CLASSES - - def _is_net_for_training(self): - """ - if the net is used for training or not - :return: - """ - if isinstance(self._phase, tf.Tensor): - phase = self._phase - else: - phase = tf.constant(self._phase, dtype=tf.string) - - return tf.equal(phase, tf.constant('train', dtype=tf.string)) - - def _vgg16_conv_stage(self, input_tensor, k_size, out_dims, name, - stride=1, pad='SAME', need_layer_norm=True): - """ - stack conv and activation in vgg16 - :param input_tensor: - :param k_size: - :param out_dims: - :param name: - :param stride: - :param pad: - :param need_layer_norm: - :return: - """ - with tf.variable_scope(name): - conv = self.conv2d( - inputdata=input_tensor, out_channel=out_dims, - kernel_size=k_size, stride=stride, - use_bias=False, padding=pad, name='conv' - ) - - if need_layer_norm: - bn = self.layerbn(inputdata=conv, is_training=self._is_training, name='bn') - - relu = self.relu(inputdata=bn, name='relu') - else: - relu = self.relu(inputdata=conv, name='relu') - - return relu - - def _decode_block(self, input_tensor, previous_feats_tensor, - out_channels_nums, name, kernel_size=4, - stride=2, use_bias=False, - previous_kernel_size=4, need_activate=True): - """ - - :param input_tensor: - :param previous_feats_tensor: - :param out_channels_nums: - :param kernel_size: - :param previous_kernel_size: - :param use_bias: - :param stride: - :param name: - :return: - """ - with tf.variable_scope(name_or_scope=name): - - deconv_weights_stddev = tf.sqrt( - tf.divide(tf.constant(2.0, tf.float32), - tf.multiply(tf.cast(previous_kernel_size * previous_kernel_size, tf.float32), - tf.cast(tf.shape(input_tensor)[3], tf.float32))) - ) - deconv_weights_init = tf.truncated_normal_initializer( - mean=0.0, stddev=deconv_weights_stddev) - - deconv = self.deconv2d( - inputdata=input_tensor, out_channel=out_channels_nums, kernel_size=kernel_size, - stride=stride, use_bias=use_bias, w_init=deconv_weights_init, - name='deconv' - ) - - deconv = self.layerbn(inputdata=deconv, is_training=self._is_training, name='deconv_bn') - - deconv = self.relu(inputdata=deconv, name='deconv_relu') - - fuse_feats = tf.add( - previous_feats_tensor, deconv, name='fuse_feats' - ) - - if need_activate: - - fuse_feats = self.layerbn( - inputdata=fuse_feats, is_training=self._is_training, name='fuse_gn' - ) - - fuse_feats = self.relu(inputdata=fuse_feats, name='fuse_relu') - - return fuse_feats - - def _vgg16_fcn_encode(self, input_tensor, name): - """ - - :param input_tensor: - :param name: - :return: - """ - with tf.variable_scope(name_or_scope=name): - # encode stage 1 - conv_1_1 = self._vgg16_conv_stage( - input_tensor=input_tensor, k_size=3, - out_dims=64, name='conv1_1', - need_layer_norm=True - ) - conv_1_2 = self._vgg16_conv_stage( - input_tensor=conv_1_1, k_size=3, - out_dims=64, name='conv1_2', - need_layer_norm=True - ) - self._net_intermediate_results['encode_stage_1_share'] = { - 'data': conv_1_2, - 'shape': conv_1_2.get_shape().as_list() - } - - # encode stage 2 - pool1 = self.maxpooling( - inputdata=conv_1_2, kernel_size=2, - stride=2, name='pool1' - ) - conv_2_1 = self._vgg16_conv_stage( - input_tensor=pool1, k_size=3, - out_dims=128, name='conv2_1', - need_layer_norm=True - ) - conv_2_2 = self._vgg16_conv_stage( - input_tensor=conv_2_1, k_size=3, - out_dims=128, name='conv2_2', - need_layer_norm=True - ) - self._net_intermediate_results['encode_stage_2_share'] = { - 'data': conv_2_2, - 'shape': conv_2_2.get_shape().as_list() - } - - # encode stage 3 - pool2 = self.maxpooling( - inputdata=conv_2_2, kernel_size=2, - stride=2, name='pool2' - ) - conv_3_1 = self._vgg16_conv_stage( - input_tensor=pool2, k_size=3, - out_dims=256, name='conv3_1', - need_layer_norm=True - ) - conv_3_2 = self._vgg16_conv_stage( - input_tensor=conv_3_1, k_size=3, - out_dims=256, name='conv3_2', - need_layer_norm=True - ) - conv_3_3 = self._vgg16_conv_stage( - input_tensor=conv_3_2, k_size=3, - out_dims=256, name='conv3_3', - need_layer_norm=True - ) - self._net_intermediate_results['encode_stage_3_share'] = { - 'data': conv_3_3, - 'shape': conv_3_3.get_shape().as_list() - } - - # encode stage 4 - pool3 = self.maxpooling( - inputdata=conv_3_3, kernel_size=2, - stride=2, name='pool3' - ) - conv_4_1 = self._vgg16_conv_stage( - input_tensor=pool3, k_size=3, - out_dims=512, name='conv4_1', - need_layer_norm=True - ) - conv_4_2 = self._vgg16_conv_stage( - input_tensor=conv_4_1, k_size=3, - out_dims=512, name='conv4_2', - need_layer_norm=True - ) - conv_4_3 = self._vgg16_conv_stage( - input_tensor=conv_4_2, k_size=3, - out_dims=512, name='conv4_3', - need_layer_norm=True - ) - self._net_intermediate_results['encode_stage_4_share'] = { - 'data': conv_4_3, - 'shape': conv_4_3.get_shape().as_list() - } - - # encode stage 5 for binary segmentation - pool4 = self.maxpooling( - inputdata=conv_4_3, kernel_size=2, - stride=2, name='pool4' - ) - conv_5_1_binary = self._vgg16_conv_stage( - input_tensor=pool4, k_size=3, - out_dims=512, name='conv5_1_binary', - need_layer_norm=True - ) - conv_5_2_binary = self._vgg16_conv_stage( - input_tensor=conv_5_1_binary, k_size=3, - out_dims=512, name='conv5_2_binary', - need_layer_norm=True - ) - conv_5_3_binary = self._vgg16_conv_stage( - input_tensor=conv_5_2_binary, k_size=3, - out_dims=512, name='conv5_3_binary', - need_layer_norm=True - ) - self._net_intermediate_results['encode_stage_5_binary'] = { - 'data': conv_5_3_binary, - 'shape': conv_5_3_binary.get_shape().as_list() - } - - # encode stage 5 for instance segmentation - conv_5_1_instance = self._vgg16_conv_stage( - input_tensor=pool4, k_size=3, - out_dims=512, name='conv5_1_instance', - need_layer_norm=True - ) - conv_5_2_instance = self._vgg16_conv_stage( - input_tensor=conv_5_1_instance, k_size=3, - out_dims=512, name='conv5_2_instance', - need_layer_norm=True - ) - conv_5_3_instance = self._vgg16_conv_stage( - input_tensor=conv_5_2_instance, k_size=3, - out_dims=512, name='conv5_3_instance', - need_layer_norm=True - ) - self._net_intermediate_results['encode_stage_5_instance'] = { - 'data': conv_5_3_instance, - 'shape': conv_5_3_instance.get_shape().as_list() - } - - return - - def _vgg16_fcn_decode(self, name): - """ - - :return: - """ - with tf.variable_scope(name): - - # decode part for binary segmentation - with tf.variable_scope(name_or_scope='binary_seg_decode'): - - decode_stage_5_binary = self._net_intermediate_results['encode_stage_5_binary']['data'] - - decode_stage_4_fuse = self._decode_block( - input_tensor=decode_stage_5_binary, - previous_feats_tensor=self._net_intermediate_results['encode_stage_4_share']['data'], - name='decode_stage_4_fuse', out_channels_nums=512, previous_kernel_size=3 - ) - decode_stage_3_fuse = self._decode_block( - input_tensor=decode_stage_4_fuse, - previous_feats_tensor=self._net_intermediate_results['encode_stage_3_share']['data'], - name='decode_stage_3_fuse', out_channels_nums=256 - ) - decode_stage_2_fuse = self._decode_block( - input_tensor=decode_stage_3_fuse, - previous_feats_tensor=self._net_intermediate_results['encode_stage_2_share']['data'], - name='decode_stage_2_fuse', out_channels_nums=128 - ) - decode_stage_1_fuse = self._decode_block( - input_tensor=decode_stage_2_fuse, - previous_feats_tensor=self._net_intermediate_results['encode_stage_1_share']['data'], - name='decode_stage_1_fuse', out_channels_nums=64 - ) - binary_final_logits_conv_weights_stddev = tf.sqrt( - tf.divide(tf.constant(2.0, tf.float32), - tf.multiply(4.0 * 4.0, - tf.cast(tf.shape(decode_stage_1_fuse)[3], tf.float32))) - ) - binary_final_logits_conv_weights_init = tf.truncated_normal_initializer( - mean=0.0, stddev=binary_final_logits_conv_weights_stddev) - - binary_final_logits = self.conv2d( - inputdata=decode_stage_1_fuse, - out_channel=self._class_nums, - kernel_size=1, use_bias=False, - w_init=binary_final_logits_conv_weights_init, - name='binary_final_logits' - ) - - self._net_intermediate_results['binary_segment_logits'] = { - 'data': binary_final_logits, - 'shape': binary_final_logits.get_shape().as_list() - } - - with tf.variable_scope(name_or_scope='instance_seg_decode'): - - decode_stage_5_instance = self._net_intermediate_results['encode_stage_5_instance']['data'] - - decode_stage_4_fuse = self._decode_block( - input_tensor=decode_stage_5_instance, - previous_feats_tensor=self._net_intermediate_results['encode_stage_4_share']['data'], - name='decode_stage_4_fuse', out_channels_nums=512, previous_kernel_size=3) - - decode_stage_3_fuse = self._decode_block( - input_tensor=decode_stage_4_fuse, - previous_feats_tensor=self._net_intermediate_results['encode_stage_3_share']['data'], - name='decode_stage_3_fuse', out_channels_nums=256) - - decode_stage_2_fuse = self._decode_block( - input_tensor=decode_stage_3_fuse, - previous_feats_tensor=self._net_intermediate_results['encode_stage_2_share']['data'], - name='decode_stage_2_fuse', out_channels_nums=128) - - decode_stage_1_fuse = self._decode_block( - input_tensor=decode_stage_2_fuse, - previous_feats_tensor=self._net_intermediate_results['encode_stage_1_share']['data'], - name='decode_stage_1_fuse', out_channels_nums=64, need_activate=False) - - self._net_intermediate_results['instance_segment_logits'] = { - 'data': decode_stage_1_fuse, - 'shape': decode_stage_1_fuse.get_shape().as_list() - } - - def build_model(self, input_tensor, name, reuse=False): - """ - - :param input_tensor: - :param name: - :param reuse: - :return: - """ - with tf.variable_scope(name_or_scope=name, reuse=reuse): - # vgg16 fcn encode part - self._vgg16_fcn_encode(input_tensor=input_tensor, name='vgg16_encode_module') - # vgg16 fcn decode part - self._vgg16_fcn_decode(name='vgg16_decode_module') - - return self._net_intermediate_results - - -if __name__ == '__main__': - """ - test code - """ - test_in_tensor = tf.placeholder(dtype=tf.float32, shape=[1, 256, 512, 3], name='input') - model = VGG16FCN(phase='train', cfg=parse_config_utils.lanenet_cfg) - ret = model.build_model(test_in_tensor, name='vgg16fcn') - for layer_name, layer_info in ret.items(): - print('layer name: {:s} shape: {}'.format(layer_name, layer_info['shape'])) -- Gitee From ed23b89b4fd06ab0542d94c5e24301b4f2944402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Mon, 5 Sep 2022 12:52:49 +0000 Subject: [PATCH 18/19] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20MNN-LANENET=5FID1251?= =?UTF-8?q?=5Ffor=5FACL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/.keep new file mode 100644 index 000000000..e69de29bb -- Gitee From 1c558251c348c192bb6e9cb64ef5a195114f15ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=BA=E6=B0=B4=E5=B0=8F=E8=88=AA=E6=AF=8D?= <1396755411@qq.com> Date: Mon, 5 Sep 2022 12:57:20 +0000 Subject: [PATCH 19/19] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 溺水小航母 <1396755411@qq.com> --- .../cv/MNN-LANENET_ID1251_for_ACL/README.md | 139 +++++++++++++ .../cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py | 78 +++++++ .../MNN-LANENET_ID1251_for_ACL/eval_ckpt.py | 190 ++++++++++++++++++ .../cv/MNN-LANENET_ID1251_for_ACL/eval_om.py | 79 ++++++++ .../cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py | 169 ++++++++++++++++ .../inference time.jpg.jpg | Bin 0 -> 23050 bytes .../metric_ckpt.jpg | Bin 0 -> 2247 bytes .../MNN-LANENET_ID1251_for_ACL/metric_om.jpg | Bin 0 -> 2978 bytes .../MNN-LANENET_ID1251_for_ACL/metric_pb.jpg | Bin 0 -> 2135 bytes 9 files changed, 655 insertions(+) create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/inference time.jpg.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_ckpt.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_om.jpg create mode 100644 ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_pb.jpg diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md new file mode 100644 index 000000000..6a5ec5e7e --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/README.md @@ -0,0 +1,139 @@ +## 模型功能 + + 车道线检测 + + + + +## pb模型 + +``` + +python3.7 ckpt2pb.py +``` + +convert_ckpt_into_pb_file()函数,pb模型 PATH=./pretrained_model/eval.pb + +## om模型 + + +使用ATC模型转换工具进行模型转换时可以参考如下指令: + + +``` + +atc --model=/usr/pb2om/eval.pb + + --framework=3 + + --output=/usr/pb2om/frozen + + --soc_version=Ascend910 + + out_nodes="lanenet/binary_seg_out:0;lanenet/instance_seg_out:0" + + --input_shape="input_tensor:1,256,512,3" + + --input_format=NHWC +``` + + + +## 使用msame工具推理 + + +参考 https://gitee.com/ascend/tools/tree/master/msame, 获取msame推理工具及使用方法。 + +获取到msame可执行文件之后,进行推理测试。 + + + +## 数据集转换bin + +``` + +python3.7 eval_pb.py +``` + +freeze_graph_test()函数 img_feed转test_img.bin + +## 推理测试 + + +使用msame推理工具,参考如下命令,发起推理测试: + + +``` + +./msame --model "/home/test_user05/pb2om/frozen.om" + + --input "/home/test_user05/pb2om/test_img.bin" + + --output "/home/test_user05/pb2om/" + + --outfmt BIN + + --loop 1 +``` + + +## 脚本和示例代码 + +代码:链接:链接:https://pan.baidu.com/s/1oqdEQGH8ixPv4tNMBRExfQ?pwd=6666 +提取码:6666 + + +输入数据:链接:https://pan.baidu.com/s/1bwZR3FfhP18mLMa44781Gw?pwd=0000 提取码:0000 + +├── eval_data + + +1.pb预测 + +├── eval_pb.py //主代码 + +├── lanenet_model + + ├── lanenet.py //LANENET模型 + +├── README.md //代码说明文档 + + + +2.om预测 + +├── eval_om.py //主代码 + +├── lanenet_model + + ├── lanenet.py //LANENET模型 + +├── README.md //代码说明文档 + + + +3.ckpt转pb + +├── ckpt2pb.py + + + +##推理输出计算精度 + +``` + +python3.7 eval_om.py +``` + +## 推理精度 +定量指标采用准确率,精度为0.965,精度达标。 +定性指标采用论文中可视化binary segmentation和instance segmentation,输出在eval_output下 + +| gpu | npu |原论文 |推理 | +|-------|------|-------|-------| +| 96.5 | 96.5 | 96.4 |96.5 | + + + +## 推理性能 +inference time.jpg,性能达标 \ No newline at end of file diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py new file mode 100644 index 000000000..8710bca83 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/ckpt2pb.py @@ -0,0 +1,78 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +Freeze Lanenet model into frozen pb file +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import tensorflow as tf +import os + +os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' + + +def convert_ckpt_into_pb_file(ckpt_file_path, pb_file_path): + """ + + :param ckpt_file_path: + :param pb_file_path: + :return: + """ + with tf.Session() as sess: + + saver = tf.train.import_meta_graph(ckpt_file_path + '.meta', clear_devices=True) + input_graph_def = tf.get_default_graph().as_graph_def() + + binary_seg_node = 'lanenet/binary_seg_out' + instance_seg_node = 'lanenet/instance_seg_out' + + saver.restore(sess, ckpt_file_path) # 恢复图并得到数据 + output_graph_def = tf.graph_util.convert_variables_to_constants( # 模型持久化,将变量值固定 + sess=sess, + input_graph_def=input_graph_def, + output_node_names=['input_tensor', binary_seg_node, instance_seg_node]) + + with tf.gfile.GFile(pb_file_path, "wb") as f: # 保存模型 + f.write(output_graph_def.SerializeToString()) # 序列化输出 + print("%d ops in the final graph." % len(output_graph_def.node)) + + +if __name__ == '__main__': + """ + test code + """ + + ckpt_path = './eval_ckpt/eval.ckpt' + pb_save_path = './pretrained_model/eval.pb' + + convert_ckpt_into_pb_file( + ckpt_file_path=ckpt_path, + pb_file_path=pb_save_path + ) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py new file mode 100644 index 000000000..993c5719c --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_ckpt.py @@ -0,0 +1,190 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" +test LaneNet model on single image +""" +import argparse +import os.path as ops +import time + +import cv2 +import numpy as np +import tensorflow as tf + +from lanenet_model import lanenet +from lanenet_model import lanenet_postprocess +from local_utils.config_utils import parse_config_utils +from local_utils.log_util import init_logger + +CFG = parse_config_utils.lanenet_cfg +LOG = init_logger.get_logger(log_file_name_prefix='lanenet_test') + +gt_path = './eval_data/gt.png' + + +def init_args(): + """ + + :return: + """ + parser = argparse.ArgumentParser() + parser.add_argument('--image_path', default='./eval_data/test_img.jpg', + type=str, help='The image path or the src image save dir') + parser.add_argument('--weights_path', default='./pretrained_model/ckpt/tusimple_lanenet.ckpt', + type=str, help='The model weights path') + parser.add_argument('--with_lane_fit', type=args_str2bool, help='If need to do lane fit', default=False) + + return parser.parse_args() + + +def args_str2bool(arg_value): + """ + + :param arg_value: + :return: + """ + if arg_value.lower() in ('yes', 'true', 't', 'y', '1'): + return True + + elif arg_value.lower() in ('no', 'false', 'f', 'n', '0'): + return False + else: + raise argparse.ArgumentTypeError('Unsupported value encountered.') + + +def minmax_scale(input_arr): + """ + + :param input_arr: + :return: + """ + min_val = np.min(input_arr) + max_val = np.max(input_arr) + + output_arr = (input_arr - min_val) * 255.0 / (max_val - min_val) + + return output_arr + + +def test_lanenet(image_path, gt_path, weights_path, with_lane_fit=False): + """ + + :param image_path: + :param weights_path: + :param with_lane_fit: + :return: + """ + assert ops.exists(image_path), '{:s} not exist'.format(image_path) + + LOG.info('Start reading image and preprocessing') + t_start = time.time() + image = cv2.imread(image_path, cv2.IMREAD_COLOR) + image_vis = image + image = cv2.resize(image, (512, 256), interpolation=cv2.INTER_LINEAR) + image = image / 127.5 - 1.0 + LOG.info('Image load complete, cost time: {:.5f}s'.format(time.time() - t_start)) + + input_tensor_0 = tf.placeholder(dtype=tf.float32, shape=[1, 256, 512, 3], name='input_tensor') + input_tensor = tf.identity(input_tensor_0, name='input_tensor') + net = lanenet.LaneNet(phase='test', cfg=CFG) + binary_seg_ret, instance_seg_ret = net.inference(input_tensor=input_tensor, name='LaneNet') + + with tf.variable_scope('lanenet/'): + binary_seg_ret = tf.identity(binary_seg_ret, name='binary_seg_out') + instance_seg_ret = tf.identity(instance_seg_ret, name='instance_seg_out') + + postprocessor = lanenet_postprocess.LaneNetPostProcessor(cfg=CFG) + + sess = tf.Session() + + # define moving average version of the learned variables for eval + with tf.variable_scope(name_or_scope='moving_avg'): + variable_averages = tf.train.ExponentialMovingAverage( + CFG.SOLVER.MOVING_AVE_DECAY) + variables_to_restore = variable_averages.variables_to_restore() + + # define saver + saver = tf.train.Saver(variables_to_restore) + + with sess.as_default(): + saver.restore(sess=sess, save_path=weights_path) + image = np.expand_dims(image, axis=0) + binary_seg_image, instance_seg_image = sess.run( + [binary_seg_ret, instance_seg_ret], + feed_dict={input_tensor: image} + ) + + postprocess_result = postprocessor.postprocess( + binary_seg_result=binary_seg_image[0], + instance_seg_result=instance_seg_image[0], + source_image=image_vis, + with_lane_fit=True, + data_source='tusimple' + ) + mask_image = postprocess_result['mask_image'] + src_image = postprocess_result['source_image'] + + # -------------- 计算准确率 ------------------ # + gt = cv2.imread(gt_path, cv2.IMREAD_COLOR) + gt_trans = cv2.resize(gt, (512, 256), interpolation=cv2.INTER_LINEAR) + + gt_gray = cv2.cvtColor(gt_trans, cv2.COLOR_BGR2GRAY) + mask_image_gray = cv2.cvtColor(mask_image, cv2.COLOR_BGR2GRAY) + WIDTH = mask_image_gray.shape[0] + HIGTH = mask_image_gray.shape[1] + tp_count = 0 + tn_count = 0 + for i in range(WIDTH): + for j in range(HIGTH): + if mask_image_gray[i, j] != 0 and gt_gray[i, j] != 0: + tp_count = tp_count + 1 + if mask_image_gray[i, j] == 0 and gt_gray[i, j] == 0: + tn_count = tn_count + 1 + Accuracy = (int(tp_count) + int(tn_count)) / (int(WIDTH) * int(HIGTH)) + + print("\n# Metric_ckpt " + "\n Accuracy:{:.3f}".format(Accuracy)) + + cv2.imwrite('./eval_output/mask_ckpt.jpg', mask_image) + cv2.imwrite('./eval_output/src_ckpt.jpg', src_image) + + saver.save(sess, './eval_ckpt/eval.ckpt') + + sess.close() + + return + + +if __name__ == '__main__': + """ + test code + """ + # init args + args = init_args() + + test_lanenet(args.image_path, gt_path, args.weights_path, with_lane_fit=args.with_lane_fit) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py new file mode 100644 index 000000000..98a8e5373 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_om.py @@ -0,0 +1,79 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import numpy as np +import lanenet_postprocess +from local_utils.config_utils import parse_config_utils +import cv2 + +CFG = parse_config_utils.lanenet_cfg + +image_path = './eval_data/test_img.jpg' +image_vis = cv2.imread(image_path, cv2.IMREAD_COLOR) + +b_out_path = './eval_data/frozen_output_0.bin' +i_out_path = './eval_data/frozen_output_1.bin' +b_out = np.fromfile(b_out_path, dtype=np.int64) +i_out = np.fromfile(i_out_path, dtype=np.float32) +b_out = np.reshape(b_out, (1, 256, 512)) +i_out = np.reshape(i_out, (1, 256, 512, 4)) + +postprocessor = lanenet_postprocess.LaneNetPostProcessor(cfg=CFG) +postprocess_result = postprocessor.postprocess( + binary_seg_result=b_out[0], + instance_seg_result=i_out[0], + source_image=image_vis, + with_lane_fit=True, + data_source='tusimple' + ) +mask_image = postprocess_result['mask_image'] +src_image = postprocess_result['source_image'] +gt_path = './eval_data/gt.png' +gt = cv2.imread(gt_path, cv2.IMREAD_COLOR) +gt_trans = cv2.resize(gt, (512, 256), interpolation=cv2.INTER_LINEAR) + +# -------------- 计算准确率 ------------------ # +gt_gray = cv2.cvtColor(gt_trans, cv2.COLOR_BGR2GRAY) +mask_image_gray = cv2.cvtColor(mask_image, cv2.COLOR_BGR2GRAY) +WIDTH = mask_image_gray.shape[0] +HIGTH = mask_image_gray.shape[1] +tp_count = 0 +tn_count = 0 +for i in range(WIDTH): + for j in range(HIGTH): + if mask_image_gray[i, j] != 0 and gt_gray[i, j] != 0: + tp_count = tp_count + 1 + if mask_image_gray[i, j] == 0 and gt_gray[i, j] == 0: + tn_count = tn_count + 1 +Accuracy = (int(tp_count) + int(tn_count)) / (int(WIDTH) * int(HIGTH)) + +print("\n# Metric_om " + "\n Accuracy:{:.3f}".format(Accuracy)) + +cv2.imwrite('./eval_output/mask_om.jpg', mask_image) +cv2.imwrite('./eval_output/src_om.jpg', src_image) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py new file mode 100644 index 000000000..5584b4ad7 --- /dev/null +++ b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/eval_pb.py @@ -0,0 +1,169 @@ +# Copyright 2017 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================ +# Copyright 2021 Huawei Technologies Co., Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import numpy as np +import os +import tensorflow as tf +from tensorflow.python.platform import gfile +import lanenet_postprocess +from local_utils.config_utils import parse_config_utils +import cv2 + + +os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' + +image_path = './eval_data/test_img.jpg' + +test_img = cv2.imread(image_path, cv2.IMREAD_COLOR) +image_vis = test_img +test_img_trans = cv2.resize(test_img, (512, 256), interpolation=cv2.INTER_LINEAR) +test_img_trans = test_img_trans / 127.5 - 1.0 + +gt_path = './eval_data/gt.png' +gt = cv2.imread(gt_path, cv2.IMREAD_COLOR) +gt_trans = cv2.resize(gt, (512, 256), interpolation=cv2.INTER_LINEAR) + +CFG = parse_config_utils.lanenet_cfg + +pb_path = './pretrained_model/eval.pb' + +# ----------- 查看 pbnode ----------- +# read graph definition +f = gfile.FastGFile(pb_path, "rb") +gd = graph_def = tf.GraphDef() +graph_def.ParseFromString(f.read()) +tf.import_graph_def(graph_def, name='') +for i, n in enumerate(graph_def.node): + print("=====node====") + print("Name of the node - %s" % n.name) +# -------------------------------- + + +def minmax_scale(input_arr): + """ + + :param input_arr: + :return: + """ + min_val = np.min(input_arr) + max_val = np.max(input_arr) + + output_arr = (input_arr - min_val) * 255.0 / (max_val - min_val) + + return output_arr + + +def freeze_graph_test(pb_path, img_path): + # :param pb_path:pb文件的路径 + # :param test_img:测试图片的路径 + # :return: + + f = gfile.FastGFile(pb_path, "rb") + graph_def = tf.GraphDef() + graph_def.ParseFromString(f.read()) + + with tf.Graph().as_default(): + output_graph_def = tf.GraphDef() + with open(pb_path, "rb") as f: + output_graph_def.ParseFromString(f.read()) + tf.import_graph_def(graph_def, name="") + + with tf.Session() as sess: + + sess.run(tf.global_variables_initializer()) + + # 定义输入输出节点名称 + input_node = sess.graph.get_tensor_by_name("input_tensor:0") + binary_output_node = sess.graph.get_tensor_by_name("lanenet/binary_seg_out:0") + pixel_embedding_output_node = sess.graph.get_tensor_by_name("lanenet/instance_seg_out:0") + img_feed = test_img_trans.astype(np.float32) + img_feed = np.expand_dims(img_feed, axis=0) + + # img_bin = img_feed + # img_bin.tofile("./eval_data/test_img.bin") + + binary_output, pixel_embedding_output = sess.run([binary_output_node, pixel_embedding_output_node], + feed_dict={input_node: img_feed}) + + postprocessor = lanenet_postprocess.LaneNetPostProcessor(cfg=CFG) + postprocess_result = postprocessor.postprocess( + binary_seg_result=binary_output[0], + instance_seg_result=pixel_embedding_output[0], + source_image=image_vis, + with_lane_fit=True, + data_source='tusimple' + ) + mask_image = postprocess_result['mask_image'] + src_image = postprocess_result['source_image'] + # if with_lane_fit: + # lane_params = postprocess_result['fit_params'] + # LOG.info('Model have fitted {:d} lanes'.format(len(lane_params))) + # for i in range(len(lane_params)): + # LOG.info('Fitted 2-order lane {:d} curve param: {}'.format(i + 1, lane_params[i])) + + for i in range(CFG.MODEL.EMBEDDING_FEATS_DIMS): + pixel_embedding_output[:, :, i] = minmax_scale(pixel_embedding_output[:, :, i]) + embedding_image = np.array(pixel_embedding_output, np.uint8) + + # plt.figure('mask_image') + # plt.imshow(mask_image[:, :, (2, 1, 0)]) + # plt.show() + # plt.figure('src_image') + # plt.imshow(image_vis[:, :, (2, 1, 0)]) + # plt.figure('instance_image') + # plt.imshow(embedding_image[:, :, (2, 1, 0)]) + # plt.figure('binary_image') + # plt.imshow(binary_output * 255, cmap='gray') + # plt.show() + + # -------------- 计算准确率 ------------------ # + gt_gray = cv2.cvtColor(gt_trans, cv2.COLOR_BGR2GRAY) + mask_image_gray = cv2.cvtColor(mask_image, cv2.COLOR_BGR2GRAY) + WIDTH = mask_image_gray.shape[0] + HIGTH = mask_image_gray.shape[1] + tp_count = 0 + tn_count = 0 + for i in range(WIDTH): + for j in range(HIGTH): + if mask_image_gray[i, j] != 0 and gt_gray[i, j] != 0: + tp_count = tp_count + 1 + if mask_image_gray[i, j] == 0 and gt_gray[i, j] == 0: + tn_count = tn_count + 1 + Accuracy = (int(tp_count) + int(tn_count)) / (int(WIDTH) * int(HIGTH)) + + print("\n# Metric_pb " + "\n Accuracy:{:.3f}".format(Accuracy)) + + cv2.imwrite('./eval_output/mask_pb.jpg', mask_image) + cv2.imwrite('./eval_output/src_pb.jpg', src_image) + + +if __name__ == '__main__': + # 测试pb模型 + img_path = './eval_data/test_img.npy' + freeze_graph_test(pb_path=pb_path, img_path=img_path) diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/inference time.jpg.jpg b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/inference time.jpg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1dbe0e6e74cfff7198205dd82800bf688d4e010b GIT binary patch literal 23050 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 SnW9sd33yW$Stjh)kN*JaXvo6= literal 0 HcmV?d00001 diff --git a/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_ckpt.jpg b/ACL_TensorFlow/contrib/cv/MNN-LANENET_ID1251_for_ACL/metric_ckpt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d02d97c03ffb1318c226b88d9c8a3a46e9e4a1fd GIT binary patch literal 2247 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 J{zML${{&siwd()? literal 0 HcmV?d00001 -- Gitee