textbox.prototxt 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629
  1. name: "VGG_text_longer_conv_300x300_deploy"
  2. input: "data"
  3. input_shape {
  4. dim: 1
  5. dim: 3
  6. dim: 700
  7. dim: 700
  8. }
  9. layer {
  10. name: "conv1_1"
  11. type: "Convolution"
  12. bottom: "data"
  13. top: "conv1_1"
  14. param {
  15. lr_mult: 0
  16. decay_mult: 0
  17. }
  18. param {
  19. lr_mult: 0
  20. decay_mult: 0
  21. }
  22. convolution_param {
  23. num_output: 64
  24. pad: 1
  25. kernel_size: 3
  26. weight_filler {
  27. type: "xavier"
  28. }
  29. bias_filler {
  30. type: "constant"
  31. value: 0
  32. }
  33. }
  34. }
  35. layer {
  36. name: "relu1_1"
  37. type: "ReLU"
  38. bottom: "conv1_1"
  39. top: "conv1_1"
  40. }
  41. layer {
  42. name: "conv1_2"
  43. type: "Convolution"
  44. bottom: "conv1_1"
  45. top: "conv1_2"
  46. param {
  47. lr_mult: 0
  48. decay_mult: 0
  49. }
  50. param {
  51. lr_mult: 0
  52. decay_mult: 0
  53. }
  54. convolution_param {
  55. num_output: 64
  56. pad: 1
  57. kernel_size: 3
  58. weight_filler {
  59. type: "xavier"
  60. }
  61. bias_filler {
  62. type: "constant"
  63. value: 0
  64. }
  65. }
  66. }
  67. layer {
  68. name: "relu1_2"
  69. type: "ReLU"
  70. bottom: "conv1_2"
  71. top: "conv1_2"
  72. }
  73. layer {
  74. name: "pool1"
  75. type: "Pooling"
  76. bottom: "conv1_2"
  77. top: "pool1"
  78. pooling_param {
  79. pool: MAX
  80. kernel_size: 2
  81. stride: 2
  82. }
  83. }
  84. layer {
  85. name: "conv2_1"
  86. type: "Convolution"
  87. bottom: "pool1"
  88. top: "conv2_1"
  89. param {
  90. lr_mult: 0
  91. decay_mult: 0
  92. }
  93. param {
  94. lr_mult: 0
  95. decay_mult: 0
  96. }
  97. convolution_param {
  98. num_output: 128
  99. pad: 1
  100. kernel_size: 3
  101. weight_filler {
  102. type: "xavier"
  103. }
  104. bias_filler {
  105. type: "constant"
  106. value: 0
  107. }
  108. }
  109. }
  110. layer {
  111. name: "relu2_1"
  112. type: "ReLU"
  113. bottom: "conv2_1"
  114. top: "conv2_1"
  115. }
  116. layer {
  117. name: "conv2_2"
  118. type: "Convolution"
  119. bottom: "conv2_1"
  120. top: "conv2_2"
  121. param {
  122. lr_mult: 0
  123. decay_mult: 0
  124. }
  125. param {
  126. lr_mult: 0
  127. decay_mult: 0
  128. }
  129. convolution_param {
  130. num_output: 128
  131. pad: 1
  132. kernel_size: 3
  133. weight_filler {
  134. type: "xavier"
  135. }
  136. bias_filler {
  137. type: "constant"
  138. value: 0
  139. }
  140. }
  141. }
  142. layer {
  143. name: "relu2_2"
  144. type: "ReLU"
  145. bottom: "conv2_2"
  146. top: "conv2_2"
  147. }
  148. layer {
  149. name: "pool2"
  150. type: "Pooling"
  151. bottom: "conv2_2"
  152. top: "pool2"
  153. pooling_param {
  154. pool: MAX
  155. kernel_size: 2
  156. stride: 2
  157. }
  158. }
  159. layer {
  160. name: "conv3_1"
  161. type: "Convolution"
  162. bottom: "pool2"
  163. top: "conv3_1"
  164. param {
  165. lr_mult: 1
  166. decay_mult: 1
  167. }
  168. param {
  169. lr_mult: 2
  170. decay_mult: 0
  171. }
  172. convolution_param {
  173. num_output: 256
  174. pad: 1
  175. kernel_size: 3
  176. weight_filler {
  177. type: "xavier"
  178. }
  179. bias_filler {
  180. type: "constant"
  181. value: 0
  182. }
  183. }
  184. }
  185. layer {
  186. name: "relu3_1"
  187. type: "ReLU"
  188. bottom: "conv3_1"
  189. top: "conv3_1"
  190. }
  191. layer {
  192. name: "conv3_2"
  193. type: "Convolution"
  194. bottom: "conv3_1"
  195. top: "conv3_2"
  196. param {
  197. lr_mult: 1
  198. decay_mult: 1
  199. }
  200. param {
  201. lr_mult: 2
  202. decay_mult: 0
  203. }
  204. convolution_param {
  205. num_output: 256
  206. pad: 1
  207. kernel_size: 3
  208. weight_filler {
  209. type: "xavier"
  210. }
  211. bias_filler {
  212. type: "constant"
  213. value: 0
  214. }
  215. }
  216. }
  217. layer {
  218. name: "relu3_2"
  219. type: "ReLU"
  220. bottom: "conv3_2"
  221. top: "conv3_2"
  222. }
  223. layer {
  224. name: "conv3_3"
  225. type: "Convolution"
  226. bottom: "conv3_2"
  227. top: "conv3_3"
  228. param {
  229. lr_mult: 1
  230. decay_mult: 1
  231. }
  232. param {
  233. lr_mult: 2
  234. decay_mult: 0
  235. }
  236. convolution_param {
  237. num_output: 256
  238. pad: 1
  239. kernel_size: 3
  240. weight_filler {
  241. type: "xavier"
  242. }
  243. bias_filler {
  244. type: "constant"
  245. value: 0
  246. }
  247. }
  248. }
  249. layer {
  250. name: "relu3_3"
  251. type: "ReLU"
  252. bottom: "conv3_3"
  253. top: "conv3_3"
  254. }
  255. layer {
  256. name: "pool3"
  257. type: "Pooling"
  258. bottom: "conv3_3"
  259. top: "pool3"
  260. pooling_param {
  261. pool: MAX
  262. kernel_size: 2
  263. stride: 2
  264. }
  265. }
  266. layer {
  267. name: "conv4_1"
  268. type: "Convolution"
  269. bottom: "pool3"
  270. top: "conv4_1"
  271. param {
  272. lr_mult: 1
  273. decay_mult: 1
  274. }
  275. param {
  276. lr_mult: 2
  277. decay_mult: 0
  278. }
  279. convolution_param {
  280. num_output: 512
  281. pad: 1
  282. kernel_size: 3
  283. weight_filler {
  284. type: "xavier"
  285. }
  286. bias_filler {
  287. type: "constant"
  288. value: 0
  289. }
  290. }
  291. }
  292. layer {
  293. name: "relu4_1"
  294. type: "ReLU"
  295. bottom: "conv4_1"
  296. top: "conv4_1"
  297. }
  298. layer {
  299. name: "conv4_2"
  300. type: "Convolution"
  301. bottom: "conv4_1"
  302. top: "conv4_2"
  303. param {
  304. lr_mult: 1
  305. decay_mult: 1
  306. }
  307. param {
  308. lr_mult: 2
  309. decay_mult: 0
  310. }
  311. convolution_param {
  312. num_output: 512
  313. pad: 1
  314. kernel_size: 3
  315. weight_filler {
  316. type: "xavier"
  317. }
  318. bias_filler {
  319. type: "constant"
  320. value: 0
  321. }
  322. }
  323. }
  324. layer {
  325. name: "relu4_2"
  326. type: "ReLU"
  327. bottom: "conv4_2"
  328. top: "conv4_2"
  329. }
  330. layer {
  331. name: "conv4_3"
  332. type: "Convolution"
  333. bottom: "conv4_2"
  334. top: "conv4_3"
  335. param {
  336. lr_mult: 1
  337. decay_mult: 1
  338. }
  339. param {
  340. lr_mult: 2
  341. decay_mult: 0
  342. }
  343. convolution_param {
  344. num_output: 512
  345. pad: 1
  346. kernel_size: 3
  347. weight_filler {
  348. type: "xavier"
  349. }
  350. bias_filler {
  351. type: "constant"
  352. value: 0
  353. }
  354. }
  355. }
  356. layer {
  357. name: "relu4_3"
  358. type: "ReLU"
  359. bottom: "conv4_3"
  360. top: "conv4_3"
  361. }
  362. layer {
  363. name: "pool4"
  364. type: "Pooling"
  365. bottom: "conv4_3"
  366. top: "pool4"
  367. pooling_param {
  368. pool: MAX
  369. kernel_size: 2
  370. stride: 2
  371. }
  372. }
  373. layer {
  374. name: "conv5_1"
  375. type: "Convolution"
  376. bottom: "pool4"
  377. top: "conv5_1"
  378. param {
  379. lr_mult: 1
  380. decay_mult: 1
  381. }
  382. param {
  383. lr_mult: 2
  384. decay_mult: 0
  385. }
  386. convolution_param {
  387. num_output: 512
  388. pad: 1
  389. kernel_size: 3
  390. weight_filler {
  391. type: "xavier"
  392. }
  393. bias_filler {
  394. type: "constant"
  395. value: 0
  396. }
  397. }
  398. }
  399. layer {
  400. name: "relu5_1"
  401. type: "ReLU"
  402. bottom: "conv5_1"
  403. top: "conv5_1"
  404. }
  405. layer {
  406. name: "conv5_2"
  407. type: "Convolution"
  408. bottom: "conv5_1"
  409. top: "conv5_2"
  410. param {
  411. lr_mult: 1
  412. decay_mult: 1
  413. }
  414. param {
  415. lr_mult: 2
  416. decay_mult: 0
  417. }
  418. convolution_param {
  419. num_output: 512
  420. pad: 1
  421. kernel_size: 3
  422. weight_filler {
  423. type: "xavier"
  424. }
  425. bias_filler {
  426. type: "constant"
  427. value: 0
  428. }
  429. }
  430. }
  431. layer {
  432. name: "relu5_2"
  433. type: "ReLU"
  434. bottom: "conv5_2"
  435. top: "conv5_2"
  436. }
  437. layer {
  438. name: "conv5_3"
  439. type: "Convolution"
  440. bottom: "conv5_2"
  441. top: "conv5_3"
  442. param {
  443. lr_mult: 1
  444. decay_mult: 1
  445. }
  446. param {
  447. lr_mult: 2
  448. decay_mult: 0
  449. }
  450. convolution_param {
  451. num_output: 512
  452. pad: 1
  453. kernel_size: 3
  454. weight_filler {
  455. type: "xavier"
  456. }
  457. bias_filler {
  458. type: "constant"
  459. value: 0
  460. }
  461. }
  462. }
  463. layer {
  464. name: "relu5_3"
  465. type: "ReLU"
  466. bottom: "conv5_3"
  467. top: "conv5_3"
  468. }
  469. layer {
  470. name: "pool5"
  471. type: "Pooling"
  472. bottom: "conv5_3"
  473. top: "pool5"
  474. pooling_param {
  475. pool: MAX
  476. kernel_size: 3
  477. stride: 1
  478. pad: 1
  479. }
  480. }
  481. layer {
  482. name: "fc6"
  483. type: "Convolution"
  484. bottom: "pool5"
  485. top: "fc6"
  486. param {
  487. lr_mult: 1
  488. decay_mult: 1
  489. }
  490. param {
  491. lr_mult: 2
  492. decay_mult: 0
  493. }
  494. convolution_param {
  495. num_output: 1024
  496. pad: 6
  497. kernel_size: 3
  498. weight_filler {
  499. type: "xavier"
  500. }
  501. bias_filler {
  502. type: "constant"
  503. value: 0
  504. }
  505. dilation: 6
  506. }
  507. }
  508. layer {
  509. name: "relu6"
  510. type: "ReLU"
  511. bottom: "fc6"
  512. top: "fc6"
  513. }
  514. layer {
  515. name: "fc7"
  516. type: "Convolution"
  517. bottom: "fc6"
  518. top: "fc7"
  519. param {
  520. lr_mult: 1
  521. decay_mult: 1
  522. }
  523. param {
  524. lr_mult: 2
  525. decay_mult: 0
  526. }
  527. convolution_param {
  528. num_output: 1024
  529. kernel_size: 1
  530. weight_filler {
  531. type: "xavier"
  532. }
  533. bias_filler {
  534. type: "constant"
  535. value: 0
  536. }
  537. }
  538. }
  539. layer {
  540. name: "relu7"
  541. type: "ReLU"
  542. bottom: "fc7"
  543. top: "fc7"
  544. }
  545. layer {
  546. name: "conv6_1"
  547. type: "Convolution"
  548. bottom: "fc7"
  549. top: "conv6_1"
  550. param {
  551. lr_mult: 1
  552. decay_mult: 1
  553. }
  554. param {
  555. lr_mult: 2
  556. decay_mult: 0
  557. }
  558. convolution_param {
  559. num_output: 256
  560. pad: 0
  561. kernel_size: 1
  562. stride: 1
  563. weight_filler {
  564. type: "xavier"
  565. }
  566. bias_filler {
  567. type: "constant"
  568. value: 0
  569. }
  570. }
  571. }
  572. layer {
  573. name: "conv6_1_relu"
  574. type: "ReLU"
  575. bottom: "conv6_1"
  576. top: "conv6_1"
  577. }
  578. layer {
  579. name: "conv6_2"
  580. type: "Convolution"
  581. bottom: "conv6_1"
  582. top: "conv6_2"
  583. param {
  584. lr_mult: 1
  585. decay_mult: 1
  586. }
  587. param {
  588. lr_mult: 2
  589. decay_mult: 0
  590. }
  591. convolution_param {
  592. num_output: 512
  593. pad: 1
  594. kernel_size: 3
  595. stride: 2
  596. weight_filler {
  597. type: "xavier"
  598. }
  599. bias_filler {
  600. type: "constant"
  601. value: 0
  602. }
  603. }
  604. }
  605. layer {
  606. name: "conv6_2_relu"
  607. type: "ReLU"
  608. bottom: "conv6_2"
  609. top: "conv6_2"
  610. }
  611. layer {
  612. name: "conv7_1"
  613. type: "Convolution"
  614. bottom: "conv6_2"
  615. top: "conv7_1"
  616. param {
  617. lr_mult: 1
  618. decay_mult: 1
  619. }
  620. param {
  621. lr_mult: 2
  622. decay_mult: 0
  623. }
  624. convolution_param {
  625. num_output: 128
  626. pad: 0
  627. kernel_size: 1
  628. stride: 1
  629. weight_filler {
  630. type: "xavier"
  631. }
  632. bias_filler {
  633. type: "constant"
  634. value: 0
  635. }
  636. }
  637. }
  638. layer {
  639. name: "conv7_1_relu"
  640. type: "ReLU"
  641. bottom: "conv7_1"
  642. top: "conv7_1"
  643. }
  644. layer {
  645. name: "conv7_2"
  646. type: "Convolution"
  647. bottom: "conv7_1"
  648. top: "conv7_2"
  649. param {
  650. lr_mult: 1
  651. decay_mult: 1
  652. }
  653. param {
  654. lr_mult: 2
  655. decay_mult: 0
  656. }
  657. convolution_param {
  658. num_output: 256
  659. pad: 1
  660. kernel_size: 3
  661. stride: 2
  662. weight_filler {
  663. type: "xavier"
  664. }
  665. bias_filler {
  666. type: "constant"
  667. value: 0
  668. }
  669. }
  670. }
  671. layer {
  672. name: "conv7_2_relu"
  673. type: "ReLU"
  674. bottom: "conv7_2"
  675. top: "conv7_2"
  676. }
  677. layer {
  678. name: "conv8_1"
  679. type: "Convolution"
  680. bottom: "conv7_2"
  681. top: "conv8_1"
  682. param {
  683. lr_mult: 1
  684. decay_mult: 1
  685. }
  686. param {
  687. lr_mult: 2
  688. decay_mult: 0
  689. }
  690. convolution_param {
  691. num_output: 128
  692. pad: 0
  693. kernel_size: 1
  694. stride: 1
  695. weight_filler {
  696. type: "xavier"
  697. }
  698. bias_filler {
  699. type: "constant"
  700. value: 0
  701. }
  702. }
  703. }
  704. layer {
  705. name: "conv8_1_relu"
  706. type: "ReLU"
  707. bottom: "conv8_1"
  708. top: "conv8_1"
  709. }
  710. layer {
  711. name: "conv8_2"
  712. type: "Convolution"
  713. bottom: "conv8_1"
  714. top: "conv8_2"
  715. param {
  716. lr_mult: 1
  717. decay_mult: 1
  718. }
  719. param {
  720. lr_mult: 2
  721. decay_mult: 0
  722. }
  723. convolution_param {
  724. num_output: 256
  725. pad: 1
  726. kernel_size: 3
  727. stride: 2
  728. weight_filler {
  729. type: "xavier"
  730. }
  731. bias_filler {
  732. type: "constant"
  733. value: 0
  734. }
  735. }
  736. }
  737. layer {
  738. name: "conv8_2_relu"
  739. type: "ReLU"
  740. bottom: "conv8_2"
  741. top: "conv8_2"
  742. }
  743. layer {
  744. name: "pool6"
  745. type: "Pooling"
  746. bottom: "conv8_2"
  747. top: "pool6"
  748. pooling_param {
  749. pool: AVE
  750. global_pooling: true
  751. }
  752. }
  753. layer {
  754. name: "conv4_3_norm"
  755. type: "Normalize"
  756. bottom: "conv4_3"
  757. top: "conv4_3_norm"
  758. norm_param {
  759. across_spatial: false
  760. scale_filler {
  761. type: "constant"
  762. value: 20
  763. }
  764. channel_shared: false
  765. }
  766. }
  767. layer {
  768. name: "conv4_3_norm_mbox_loc"
  769. type: "Convolution"
  770. bottom: "conv4_3_norm"
  771. top: "conv4_3_norm_mbox_loc"
  772. param {
  773. lr_mult: 1
  774. decay_mult: 1
  775. }
  776. param {
  777. lr_mult: 2
  778. decay_mult: 0
  779. }
  780. convolution_param {
  781. num_output: 48
  782. weight_filler {
  783. type: "xavier"
  784. }
  785. bias_filler {
  786. type: "constant"
  787. value: 0
  788. }
  789. pad_h: 0
  790. pad_w: 2
  791. kernel_h: 1
  792. kernel_w: 5
  793. stride_h: 1
  794. stride_w: 1
  795. }
  796. }
  797. layer {
  798. name: "conv4_3_norm_mbox_loc_perm"
  799. type: "Permute"
  800. bottom: "conv4_3_norm_mbox_loc"
  801. top: "conv4_3_norm_mbox_loc_perm"
  802. permute_param {
  803. order: 0
  804. order: 2
  805. order: 3
  806. order: 1
  807. }
  808. }
  809. layer {
  810. name: "conv4_3_norm_mbox_loc_flat"
  811. type: "Flatten"
  812. bottom: "conv4_3_norm_mbox_loc_perm"
  813. top: "conv4_3_norm_mbox_loc_flat"
  814. flatten_param {
  815. axis: 1
  816. }
  817. }
  818. layer {
  819. name: "conv4_3_norm_mbox_conf"
  820. type: "Convolution"
  821. bottom: "conv4_3_norm"
  822. top: "conv4_3_norm_mbox_conf"
  823. param {
  824. lr_mult: 1
  825. decay_mult: 1
  826. }
  827. param {
  828. lr_mult: 2
  829. decay_mult: 0
  830. }
  831. convolution_param {
  832. num_output: 24
  833. weight_filler {
  834. type: "xavier"
  835. }
  836. bias_filler {
  837. type: "constant"
  838. value: 0
  839. }
  840. pad_h: 0
  841. pad_w: 2
  842. kernel_h: 1
  843. kernel_w: 5
  844. stride_h: 1
  845. stride_w: 1
  846. }
  847. }
  848. layer {
  849. name: "conv4_3_norm_mbox_conf_perm"
  850. type: "Permute"
  851. bottom: "conv4_3_norm_mbox_conf"
  852. top: "conv4_3_norm_mbox_conf_perm"
  853. permute_param {
  854. order: 0
  855. order: 2
  856. order: 3
  857. order: 1
  858. }
  859. }
  860. layer {
  861. name: "conv4_3_norm_mbox_conf_flat"
  862. type: "Flatten"
  863. bottom: "conv4_3_norm_mbox_conf_perm"
  864. top: "conv4_3_norm_mbox_conf_flat"
  865. flatten_param {
  866. axis: 1
  867. }
  868. }
  869. layer {
  870. name: "conv4_3_norm_mbox_priorbox"
  871. type: "PriorBox"
  872. bottom: "conv4_3_norm"
  873. bottom: "data"
  874. top: "conv4_3_norm_mbox_priorbox"
  875. prior_box_param {
  876. min_size: 30.0
  877. aspect_ratio: 2
  878. aspect_ratio: 3
  879. aspect_ratio: 5
  880. aspect_ratio: 7
  881. aspect_ratio: 10
  882. flip: false
  883. clip: true
  884. variance: 0.1
  885. variance: 0.1
  886. variance: 0.2
  887. variance: 0.2
  888. offset_h: 0.5
  889. offset_w: 0.5
  890. offset_h: 1.0
  891. offset_w: 0.5
  892. }
  893. }
  894. layer {
  895. name: "fc7_mbox_loc"
  896. type: "Convolution"
  897. bottom: "fc7"
  898. top: "fc7_mbox_loc"
  899. param {
  900. lr_mult: 1
  901. decay_mult: 1
  902. }
  903. param {
  904. lr_mult: 2
  905. decay_mult: 0
  906. }
  907. convolution_param {
  908. num_output: 56
  909. weight_filler {
  910. type: "xavier"
  911. }
  912. bias_filler {
  913. type: "constant"
  914. value: 0
  915. }
  916. pad_h: 0
  917. pad_w: 2
  918. kernel_h: 1
  919. kernel_w: 5
  920. stride_h: 1
  921. stride_w: 1
  922. }
  923. }
  924. layer {
  925. name: "fc7_mbox_loc_perm"
  926. type: "Permute"
  927. bottom: "fc7_mbox_loc"
  928. top: "fc7_mbox_loc_perm"
  929. permute_param {
  930. order: 0
  931. order: 2
  932. order: 3
  933. order: 1
  934. }
  935. }
  936. layer {
  937. name: "fc7_mbox_loc_flat"
  938. type: "Flatten"
  939. bottom: "fc7_mbox_loc_perm"
  940. top: "fc7_mbox_loc_flat"
  941. flatten_param {
  942. axis: 1
  943. }
  944. }
  945. layer {
  946. name: "fc7_mbox_conf"
  947. type: "Convolution"
  948. bottom: "fc7"
  949. top: "fc7_mbox_conf"
  950. param {
  951. lr_mult: 1
  952. decay_mult: 1
  953. }
  954. param {
  955. lr_mult: 2
  956. decay_mult: 0
  957. }
  958. convolution_param {
  959. num_output: 28
  960. weight_filler {
  961. type: "xavier"
  962. }
  963. bias_filler {
  964. type: "constant"
  965. value: 0
  966. }
  967. pad_h: 0
  968. pad_w: 2
  969. kernel_h: 1
  970. kernel_w: 5
  971. stride_h: 1
  972. stride_w: 1
  973. }
  974. }
  975. layer {
  976. name: "fc7_mbox_conf_perm"
  977. type: "Permute"
  978. bottom: "fc7_mbox_conf"
  979. top: "fc7_mbox_conf_perm"
  980. permute_param {
  981. order: 0
  982. order: 2
  983. order: 3
  984. order: 1
  985. }
  986. }
  987. layer {
  988. name: "fc7_mbox_conf_flat"
  989. type: "Flatten"
  990. bottom: "fc7_mbox_conf_perm"
  991. top: "fc7_mbox_conf_flat"
  992. flatten_param {
  993. axis: 1
  994. }
  995. }
  996. layer {
  997. name: "fc7_mbox_priorbox"
  998. type: "PriorBox"
  999. bottom: "fc7"
  1000. bottom: "data"
  1001. top: "fc7_mbox_priorbox"
  1002. prior_box_param {
  1003. min_size: 60.0
  1004. max_size: 114.0
  1005. aspect_ratio: 2
  1006. aspect_ratio: 3
  1007. aspect_ratio: 5
  1008. aspect_ratio: 7
  1009. aspect_ratio: 10
  1010. flip: false
  1011. clip: true
  1012. variance: 0.1
  1013. variance: 0.1
  1014. variance: 0.2
  1015. variance: 0.2
  1016. offset_h: 0.5
  1017. offset_w: 0.5
  1018. offset_h: 1.0
  1019. offset_w: 0.5
  1020. }
  1021. }
  1022. layer {
  1023. name: "conv6_2_mbox_loc"
  1024. type: "Convolution"
  1025. bottom: "conv6_2"
  1026. top: "conv6_2_mbox_loc"
  1027. param {
  1028. lr_mult: 1
  1029. decay_mult: 1
  1030. }
  1031. param {
  1032. lr_mult: 2
  1033. decay_mult: 0
  1034. }
  1035. convolution_param {
  1036. num_output: 56
  1037. weight_filler {
  1038. type: "xavier"
  1039. }
  1040. bias_filler {
  1041. type: "constant"
  1042. value: 0
  1043. }
  1044. pad_h: 0
  1045. pad_w: 2
  1046. kernel_h: 1
  1047. kernel_w: 5
  1048. stride_h: 1
  1049. stride_w: 1
  1050. }
  1051. }
  1052. layer {
  1053. name: "conv6_2_mbox_loc_perm"
  1054. type: "Permute"
  1055. bottom: "conv6_2_mbox_loc"
  1056. top: "conv6_2_mbox_loc_perm"
  1057. permute_param {
  1058. order: 0
  1059. order: 2
  1060. order: 3
  1061. order: 1
  1062. }
  1063. }
  1064. layer {
  1065. name: "conv6_2_mbox_loc_flat"
  1066. type: "Flatten"
  1067. bottom: "conv6_2_mbox_loc_perm"
  1068. top: "conv6_2_mbox_loc_flat"
  1069. flatten_param {
  1070. axis: 1
  1071. }
  1072. }
  1073. layer {
  1074. name: "conv6_2_mbox_conf"
  1075. type: "Convolution"
  1076. bottom: "conv6_2"
  1077. top: "conv6_2_mbox_conf"
  1078. param {
  1079. lr_mult: 1
  1080. decay_mult: 1
  1081. }
  1082. param {
  1083. lr_mult: 2
  1084. decay_mult: 0
  1085. }
  1086. convolution_param {
  1087. num_output: 28
  1088. weight_filler {
  1089. type: "xavier"
  1090. }
  1091. bias_filler {
  1092. type: "constant"
  1093. value: 0
  1094. }
  1095. pad_h: 0
  1096. pad_w: 2
  1097. kernel_h: 1
  1098. kernel_w: 5
  1099. stride_h: 1
  1100. stride_w: 1
  1101. }
  1102. }
  1103. layer {
  1104. name: "conv6_2_mbox_conf_perm"
  1105. type: "Permute"
  1106. bottom: "conv6_2_mbox_conf"
  1107. top: "conv6_2_mbox_conf_perm"
  1108. permute_param {
  1109. order: 0
  1110. order: 2
  1111. order: 3
  1112. order: 1
  1113. }
  1114. }
  1115. layer {
  1116. name: "conv6_2_mbox_conf_flat"
  1117. type: "Flatten"
  1118. bottom: "conv6_2_mbox_conf_perm"
  1119. top: "conv6_2_mbox_conf_flat"
  1120. flatten_param {
  1121. axis: 1
  1122. }
  1123. }
  1124. layer {
  1125. name: "conv6_2_mbox_priorbox"
  1126. type: "PriorBox"
  1127. bottom: "conv6_2"
  1128. bottom: "data"
  1129. top: "conv6_2_mbox_priorbox"
  1130. prior_box_param {
  1131. min_size: 114.0
  1132. max_size: 168.0
  1133. aspect_ratio: 2
  1134. aspect_ratio: 3
  1135. aspect_ratio: 5
  1136. aspect_ratio: 7
  1137. aspect_ratio: 10
  1138. flip: false
  1139. clip: true
  1140. variance: 0.1
  1141. variance: 0.1
  1142. variance: 0.2
  1143. variance: 0.2
  1144. offset_h: 0.5
  1145. offset_w: 0.5
  1146. offset_h: 1.0
  1147. offset_w: 0.5
  1148. }
  1149. }
  1150. layer {
  1151. name: "conv7_2_mbox_loc"
  1152. type: "Convolution"
  1153. bottom: "conv7_2"
  1154. top: "conv7_2_mbox_loc"
  1155. param {
  1156. lr_mult: 1
  1157. decay_mult: 1
  1158. }
  1159. param {
  1160. lr_mult: 2
  1161. decay_mult: 0
  1162. }
  1163. convolution_param {
  1164. num_output: 56
  1165. weight_filler {
  1166. type: "xavier"
  1167. }
  1168. bias_filler {
  1169. type: "constant"
  1170. value: 0
  1171. }
  1172. pad_h: 0
  1173. pad_w: 2
  1174. kernel_h: 1
  1175. kernel_w: 5
  1176. stride_h: 1
  1177. stride_w: 1
  1178. }
  1179. }
  1180. layer {
  1181. name: "conv7_2_mbox_loc_perm"
  1182. type: "Permute"
  1183. bottom: "conv7_2_mbox_loc"
  1184. top: "conv7_2_mbox_loc_perm"
  1185. permute_param {
  1186. order: 0
  1187. order: 2
  1188. order: 3
  1189. order: 1
  1190. }
  1191. }
  1192. layer {
  1193. name: "conv7_2_mbox_loc_flat"
  1194. type: "Flatten"
  1195. bottom: "conv7_2_mbox_loc_perm"
  1196. top: "conv7_2_mbox_loc_flat"
  1197. flatten_param {
  1198. axis: 1
  1199. }
  1200. }
  1201. layer {
  1202. name: "conv7_2_mbox_conf"
  1203. type: "Convolution"
  1204. bottom: "conv7_2"
  1205. top: "conv7_2_mbox_conf"
  1206. param {
  1207. lr_mult: 1
  1208. decay_mult: 1
  1209. }
  1210. param {
  1211. lr_mult: 2
  1212. decay_mult: 0
  1213. }
  1214. convolution_param {
  1215. num_output: 28
  1216. weight_filler {
  1217. type: "xavier"
  1218. }
  1219. bias_filler {
  1220. type: "constant"
  1221. value: 0
  1222. }
  1223. pad_h: 0
  1224. pad_w: 2
  1225. kernel_h: 1
  1226. kernel_w: 5
  1227. stride_h: 1
  1228. stride_w: 1
  1229. }
  1230. }
  1231. layer {
  1232. name: "conv7_2_mbox_conf_perm"
  1233. type: "Permute"
  1234. bottom: "conv7_2_mbox_conf"
  1235. top: "conv7_2_mbox_conf_perm"
  1236. permute_param {
  1237. order: 0
  1238. order: 2
  1239. order: 3
  1240. order: 1
  1241. }
  1242. }
  1243. layer {
  1244. name: "conv7_2_mbox_conf_flat"
  1245. type: "Flatten"
  1246. bottom: "conv7_2_mbox_conf_perm"
  1247. top: "conv7_2_mbox_conf_flat"
  1248. flatten_param {
  1249. axis: 1
  1250. }
  1251. }
  1252. layer {
  1253. name: "conv7_2_mbox_priorbox"
  1254. type: "PriorBox"
  1255. bottom: "conv7_2"
  1256. bottom: "data"
  1257. top: "conv7_2_mbox_priorbox"
  1258. prior_box_param {
  1259. min_size: 168.0
  1260. max_size: 222.0
  1261. aspect_ratio: 2
  1262. aspect_ratio: 3
  1263. aspect_ratio: 5
  1264. aspect_ratio: 7
  1265. aspect_ratio: 10
  1266. flip: false
  1267. clip: true
  1268. variance: 0.1
  1269. variance: 0.1
  1270. variance: 0.2
  1271. variance: 0.2
  1272. offset_h: 0.5
  1273. offset_w: 0.5
  1274. offset_h: 1.0
  1275. offset_w: 0.5
  1276. }
  1277. }
  1278. layer {
  1279. name: "conv8_2_mbox_loc"
  1280. type: "Convolution"
  1281. bottom: "conv8_2"
  1282. top: "conv8_2_mbox_loc"
  1283. param {
  1284. lr_mult: 1
  1285. decay_mult: 1
  1286. }
  1287. param {
  1288. lr_mult: 2
  1289. decay_mult: 0
  1290. }
  1291. convolution_param {
  1292. num_output: 56
  1293. weight_filler {
  1294. type: "xavier"
  1295. }
  1296. bias_filler {
  1297. type: "constant"
  1298. value: 0
  1299. }
  1300. pad_h: 0
  1301. pad_w: 2
  1302. kernel_h: 1
  1303. kernel_w: 5
  1304. stride_h: 1
  1305. stride_w: 1
  1306. }
  1307. }
  1308. layer {
  1309. name: "conv8_2_mbox_loc_perm"
  1310. type: "Permute"
  1311. bottom: "conv8_2_mbox_loc"
  1312. top: "conv8_2_mbox_loc_perm"
  1313. permute_param {
  1314. order: 0
  1315. order: 2
  1316. order: 3
  1317. order: 1
  1318. }
  1319. }
  1320. layer {
  1321. name: "conv8_2_mbox_loc_flat"
  1322. type: "Flatten"
  1323. bottom: "conv8_2_mbox_loc_perm"
  1324. top: "conv8_2_mbox_loc_flat"
  1325. flatten_param {
  1326. axis: 1
  1327. }
  1328. }
  1329. layer {
  1330. name: "conv8_2_mbox_conf"
  1331. type: "Convolution"
  1332. bottom: "conv8_2"
  1333. top: "conv8_2_mbox_conf"
  1334. param {
  1335. lr_mult: 1
  1336. decay_mult: 1
  1337. }
  1338. param {
  1339. lr_mult: 2
  1340. decay_mult: 0
  1341. }
  1342. convolution_param {
  1343. num_output: 28
  1344. weight_filler {
  1345. type: "xavier"
  1346. }
  1347. bias_filler {
  1348. type: "constant"
  1349. value: 0
  1350. }
  1351. pad_h: 0
  1352. pad_w: 2
  1353. kernel_h: 1
  1354. kernel_w: 5
  1355. stride_h: 1
  1356. stride_w: 1
  1357. }
  1358. }
  1359. layer {
  1360. name: "conv8_2_mbox_conf_perm"
  1361. type: "Permute"
  1362. bottom: "conv8_2_mbox_conf"
  1363. top: "conv8_2_mbox_conf_perm"
  1364. permute_param {
  1365. order: 0
  1366. order: 2
  1367. order: 3
  1368. order: 1
  1369. }
  1370. }
  1371. layer {
  1372. name: "conv8_2_mbox_conf_flat"
  1373. type: "Flatten"
  1374. bottom: "conv8_2_mbox_conf_perm"
  1375. top: "conv8_2_mbox_conf_flat"
  1376. flatten_param {
  1377. axis: 1
  1378. }
  1379. }
  1380. layer {
  1381. name: "conv8_2_mbox_priorbox"
  1382. type: "PriorBox"
  1383. bottom: "conv8_2"
  1384. bottom: "data"
  1385. top: "conv8_2_mbox_priorbox"
  1386. prior_box_param {
  1387. min_size: 222.0
  1388. max_size: 276.0
  1389. aspect_ratio: 2
  1390. aspect_ratio: 3
  1391. aspect_ratio: 5
  1392. aspect_ratio: 7
  1393. aspect_ratio: 10
  1394. flip: false
  1395. clip: true
  1396. variance: 0.1
  1397. variance: 0.1
  1398. variance: 0.2
  1399. variance: 0.2
  1400. offset_h: 0.5
  1401. offset_w: 0.5
  1402. offset_h: 1.0
  1403. offset_w: 0.5
  1404. }
  1405. }
  1406. layer {
  1407. name: "pool6_mbox_loc"
  1408. type: "Convolution"
  1409. bottom: "pool6"
  1410. top: "pool6_mbox_loc"
  1411. param {
  1412. lr_mult: 1
  1413. decay_mult: 1
  1414. }
  1415. param {
  1416. lr_mult: 2
  1417. decay_mult: 0
  1418. }
  1419. convolution_param {
  1420. num_output: 56
  1421. weight_filler {
  1422. type: "xavier"
  1423. }
  1424. bias_filler {
  1425. type: "constant"
  1426. value: 0
  1427. }
  1428. pad_h: 0
  1429. pad_w: 2
  1430. kernel_h: 1
  1431. kernel_w: 5
  1432. stride_h: 1
  1433. stride_w: 1
  1434. }
  1435. }
  1436. layer {
  1437. name: "pool6_mbox_loc_perm"
  1438. type: "Permute"
  1439. bottom: "pool6_mbox_loc"
  1440. top: "pool6_mbox_loc_perm"
  1441. permute_param {
  1442. order: 0
  1443. order: 2
  1444. order: 3
  1445. order: 1
  1446. }
  1447. }
  1448. layer {
  1449. name: "pool6_mbox_loc_flat"
  1450. type: "Flatten"
  1451. bottom: "pool6_mbox_loc_perm"
  1452. top: "pool6_mbox_loc_flat"
  1453. flatten_param {
  1454. axis: 1
  1455. }
  1456. }
  1457. layer {
  1458. name: "pool6_mbox_conf"
  1459. type: "Convolution"
  1460. bottom: "pool6"
  1461. top: "pool6_mbox_conf"
  1462. param {
  1463. lr_mult: 1
  1464. decay_mult: 1
  1465. }
  1466. param {
  1467. lr_mult: 2
  1468. decay_mult: 0
  1469. }
  1470. convolution_param {
  1471. num_output: 28
  1472. weight_filler {
  1473. type: "xavier"
  1474. }
  1475. bias_filler {
  1476. type: "constant"
  1477. value: 0
  1478. }
  1479. pad_h: 0
  1480. pad_w: 2
  1481. kernel_h: 1
  1482. kernel_w: 5
  1483. stride_h: 1
  1484. stride_w: 1
  1485. }
  1486. }
  1487. layer {
  1488. name: "pool6_mbox_conf_perm"
  1489. type: "Permute"
  1490. bottom: "pool6_mbox_conf"
  1491. top: "pool6_mbox_conf_perm"
  1492. permute_param {
  1493. order: 0
  1494. order: 2
  1495. order: 3
  1496. order: 1
  1497. }
  1498. }
  1499. layer {
  1500. name: "pool6_mbox_conf_flat"
  1501. type: "Flatten"
  1502. bottom: "pool6_mbox_conf_perm"
  1503. top: "pool6_mbox_conf_flat"
  1504. flatten_param {
  1505. axis: 1
  1506. }
  1507. }
  1508. layer {
  1509. name: "pool6_mbox_priorbox"
  1510. type: "PriorBox"
  1511. bottom: "pool6"
  1512. bottom: "data"
  1513. top: "pool6_mbox_priorbox"
  1514. prior_box_param {
  1515. min_size: 276.0
  1516. max_size: 330.0
  1517. aspect_ratio: 2
  1518. aspect_ratio: 3
  1519. aspect_ratio: 5
  1520. aspect_ratio: 7
  1521. aspect_ratio: 10
  1522. flip: false
  1523. clip: true
  1524. variance: 0.1
  1525. variance: 0.1
  1526. variance: 0.2
  1527. variance: 0.2
  1528. offset_h: 0.5
  1529. offset_w: 0.5
  1530. offset_h: 1.0
  1531. offset_w: 0.5
  1532. }
  1533. }
  1534. layer {
  1535. name: "mbox_loc"
  1536. type: "Concat"
  1537. bottom: "conv4_3_norm_mbox_loc_flat"
  1538. bottom: "fc7_mbox_loc_flat"
  1539. bottom: "conv6_2_mbox_loc_flat"
  1540. bottom: "conv7_2_mbox_loc_flat"
  1541. bottom: "conv8_2_mbox_loc_flat"
  1542. bottom: "pool6_mbox_loc_flat"
  1543. top: "mbox_loc"
  1544. concat_param {
  1545. axis: 1
  1546. }
  1547. }
  1548. layer {
  1549. name: "mbox_conf"
  1550. type: "Concat"
  1551. bottom: "conv4_3_norm_mbox_conf_flat"
  1552. bottom: "fc7_mbox_conf_flat"
  1553. bottom: "conv6_2_mbox_conf_flat"
  1554. bottom: "conv7_2_mbox_conf_flat"
  1555. bottom: "conv8_2_mbox_conf_flat"
  1556. bottom: "pool6_mbox_conf_flat"
  1557. top: "mbox_conf"
  1558. concat_param {
  1559. axis: 1
  1560. }
  1561. }
  1562. layer {
  1563. name: "mbox_priorbox"
  1564. type: "Concat"
  1565. bottom: "conv4_3_norm_mbox_priorbox"
  1566. bottom: "fc7_mbox_priorbox"
  1567. bottom: "conv6_2_mbox_priorbox"
  1568. bottom: "conv7_2_mbox_priorbox"
  1569. bottom: "conv8_2_mbox_priorbox"
  1570. bottom: "pool6_mbox_priorbox"
  1571. top: "mbox_priorbox"
  1572. concat_param {
  1573. axis: 2
  1574. }
  1575. }
  1576. layer {
  1577. name: "mbox_conf_reshape"
  1578. type: "Reshape"
  1579. bottom: "mbox_conf"
  1580. top: "mbox_conf_reshape"
  1581. reshape_param {
  1582. shape {
  1583. dim: 0
  1584. dim: -1
  1585. dim: 2
  1586. }
  1587. }
  1588. }
  1589. layer {
  1590. name: "mbox_conf_softmax"
  1591. type: "Softmax"
  1592. bottom: "mbox_conf_reshape"
  1593. top: "mbox_conf_softmax"
  1594. softmax_param {
  1595. axis: 2
  1596. }
  1597. }
  1598. layer {
  1599. name: "mbox_conf_flatten"
  1600. type: "Flatten"
  1601. bottom: "mbox_conf_softmax"
  1602. top: "mbox_conf_flatten"
  1603. flatten_param {
  1604. axis: 1
  1605. }
  1606. }
  1607. layer {
  1608. name: "detection_out"
  1609. type: "DetectionOutput"
  1610. bottom: "mbox_loc"
  1611. bottom: "mbox_conf_flatten"
  1612. bottom: "mbox_priorbox"
  1613. top: "detection_out"
  1614. include {
  1615. phase: TEST
  1616. }
  1617. detection_output_param {
  1618. num_classes: 2
  1619. share_location: true
  1620. background_label_id: 0
  1621. nms_param {
  1622. nms_threshold: 0.45
  1623. top_k: 400
  1624. }
  1625. code_type: CENTER_SIZE
  1626. keep_top_k: 200
  1627. confidence_threshold: 0.01
  1628. }
  1629. }