diff --git a/chapter08_computer-vision/object-detection.ipynb b/chapter08_computer-vision/object-detection.ipynb index 9fd6a6b..aad2f6e 100644 --- a/chapter08_computer-vision/object-detection.ipynb +++ b/chapter08_computer-vision/object-detection.ipynb @@ -25,10 +25,10 @@ "so we'll abuse terminology just a little.\n", "Second, while classifiers need only to output probabilities over classes,\n", "object detectors must output both probabilities of class membership\n", - "and aso the coordinates that identify the location of the objects.\n", + "and also the coordinates that identify the location of the objects.\n", "\n", "\n", - "On this chapter we'll demonstrate the single shot multiple object detector (SSD),\n", + "On this chapter we'll demonstrate the single shot multiple box object detector (SSD),\n", "a popular model for object detection that was first described in [this paper](https://arxiv.org/abs/1512.02325),\n", "and is straightforward to implement in MXNet Gluon.\n" ] @@ -43,11 +43,10 @@ "\n", "The SSD model predicts anchor boxes at multiple scales. The model architecture is illustrated in the following figure. \n", "\n", - "![](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bD0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIzNjMgMjc3IDUxMyAyNjkiIHdpZHRoPSI1MTNwdCIgaGVpZ2h0PSIyNjlwdCIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj48bWV0YWRhdGE+IFByb2R1Y2VkIGJ5IE9tbmlHcmFmZmxlIDYuNi4xIDxkYzpkYXRlPjIwMTctMDgtMTUgMjE6NDc6MzQgKzAwMDA8L2RjOmRhdGU+PC9tZXRhZGF0YT48ZGVmcz48bWFya2VyIG9yaWVudD0iYXV0byIgb3ZlcmZsb3c9InZpc2libGUiIG1hcmtlclVuaXRzPSJzdHJva2VXaWR0aCIgaWQ9IlNoYXJwQXJyb3dfTWFya2VyIiB2aWV3Qm94PSItNCAtNCAxMCA4IiBtYXJrZXJXaWR0aD0iMTAiIG1hcmtlckhlaWdodD0iOCIgY29sb3I9ImJsYWNrIj48Zz48cGF0aCBkPSJNIDUgMCBMIC0zIC0zIEwgMCAwIEwgMCAwIEwgLTMgMyBaIiBmaWxsPSJjdXJyZW50Q29sb3IiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEiLz48L2c+PC9tYXJrZXI+PGZvbnQtZmFjZSBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIHBhbm9zZS0xPSIyIDAgNSAzIDAgMCAwIDIgMCA0IiB1bml0cy1wZXItZW09IjEwMDAiIHVuZGVybGluZS1wb3NpdGlvbj0iLTEwMCIgdW5kZXJsaW5lLXRoaWNrbmVzcz0iNTAiIHNsb3BlPSIwIiB4LWhlaWdodD0iNTE3IiBjYXAtaGVpZ2h0PSI3MTQiIGFzY2VudD0iOTUxLjk5NTg1IiBkZXNjZW50PSItMjEyLjk5NzQ0IiBmb250LXdlaWdodD0iNTAwIj48Zm9udC1mYWNlLXNyYz48Zm9udC1mYWNlLW5hbWUgbmFtZT0iSGVsdmV0aWNhTmV1ZSIvPjwvZm9udC1mYWNlLXNyYz48L2ZvbnQtZmFjZT48bGluZWFyR3JhZGllbnQgeDE9IjAiIHgyPSIxIiBpZD0iR3JhZGllbnQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNkYWRhZGEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhNWE1YTUiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iT2JqX0dyYWRpZW50IiB4bDpocmVmPSIjR3JhZGllbnQiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDMyLjIyMTMgMzkyLjU2Nzc3KSByb3RhdGUoLTE3OCkgc2NhbGUoNjEuMTkxMykiLz48bGluZWFyR3JhZGllbnQgeDE9IjAiIHgyPSIxIiBpZD0iR3JhZGllbnRfMiIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2RhZGFkYSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2RhZGFkYSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJPYmpfR3JhZGllbnRfMiIgeGw6aHJlZj0iI0dyYWRpZW50XzIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQ5LjM0MDc2IDQxNy43ODM0NSkgcm90YXRlKC0xNzgpIHNjYWxlKDIzLjQwNzE4MikiLz48bGluZWFyR3JhZGllbnQgaWQ9Ik9ial9HcmFkaWVudF8zIiB4bDpocmVmPSIjR3JhZGllbnRfMiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg0NDcuNTAyOTIgMzE1LjE2MjEzKSByb3RhdGUoLTE3OCkgc2NhbGUoNzMuNzYyMTkpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJPYmpfR3JhZGllbnRfNCIgeGw6aHJlZj0iI0dyYWRpZW50IiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDczNy4yOTg5NyA0MzUuMzI3OTQpIHJvdGF0ZSgtMTc4KSBzY2FsZSgzNi44NzAzOTUpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJPYmpfR3JhZGllbnRfNSIgeGw6aHJlZj0iI0dyYWRpZW50XzIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzQ4LjE3MDMgNDQ2LjE3MTg2KSByb3RhdGUoLTE3OCkgc2NhbGUoMTMuNTk4ODYzKSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iT2JqX0dyYWRpZW50XzYiIHhsOmhyZWY9IiNHcmFkaWVudF8yIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDc0Ny4zNjQ5OCA0MDEuNzMzMDMpIHJvdGF0ZSgtMTc4KSBzY2FsZSg0NS43NTc4MjYpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJPYmpfR3JhZGllbnRfNyIgeGw6aHJlZj0iI0dyYWRpZW50IiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDU4MC43MzI0NiA0MTguOTM4NTQpIHJvdGF0ZSgtMTc4KSBzY2FsZSg1Mi4yNDY3NDQpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJPYmpfR3JhZGllbnRfOCIgeGw6aHJlZj0iI0dyYWRpZW50XzIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTk1Ljg3MzgzIDQzNi4zNjcyOCkgcm90YXRlKC0xNzgpIHNjYWxlKDE5LjUwOTU1MSkiLz48bGluZWFyR3JhZGllbnQgaWQ9Ik9ial9HcmFkaWVudF85IiB4bDpocmVmPSIjR3JhZGllbnRfMiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg1OTQuNTg5NDQgMzY1LjE0NzQzKSByb3RhdGUoLTE3OCkgc2NhbGUoNjQuMjE4MDA0KSIvPjwvZGVmcz48ZyBzdHJva2U9Im5vbmUiIHN0cm9rZS1vcGFjaXR5PSIxIiBzdHJva2UtZGFzaGFycmF5PSJub25lIiBmaWxsPSJub25lIiBmaWxsLW9wYWNpdHk9IjEiPjx0aXRsZT5DYW52YXMgMTwvdGl0bGU+PHJlY3QgZmlsbD0id2hpdGUiIHdpZHRoPSIxMDM3IiBoZWlnaHQ9IjYxOSIvPjxnPjx0aXRsZT5MYXllciAxPC90aXRsZT48bGluZSB4MT0iNzQ2LjMyODg2IiB5MT0iNDI1LjMyODg2IiB4Mj0iODIxLjEwMDA1IiB5Mj0iNDI1LjYxNzY1IiBtYXJrZXItZW5kPSJ1cmwoI1NoYXJwQXJyb3dfTWFya2VyKSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNzIwIiB5MT0iMzk4Ljk1OTczIiB4Mj0iNzk0Ljc3MTIiIHkyPSIzOTguNjcwOTQiIG1hcmtlci1lbmQ9InVybCgjU2hhcnBBcnJvd19NYXJrZXIpIiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPjx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDcyOS42OTggMzc0Ljc3NikiIGZpbGw9ImJsYWNrIj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSIuMjc2IiB5PSIxNSIgdGV4dExlbmd0aD0iNTkuNTUyIj5jbGFzc19wcjwvdHNwYW4+PHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjUwMCIgeD0iNTkuNTQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0MS4xODQiPmVkaXRvcjwvdHNwYW4+PC90ZXh0Pjx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDc2MiA0MDIuNDQ3MTQpIiBmaWxsPSJibGFjayI+PHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjUwMCIgeD0iLjM2OCIgeT0iMTUiIHRleHRMZW5ndGg9IjQ5Ljc3NiI+Ym94X3ByPC90c3Bhbj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSI0OS44NTYiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0OS43NzYiPmVkaWN0b3I8L3RzcGFuPjwvdGV4dD48cGF0aCBkPSJNIDM3NC42NDQzIDI4OCBMIDM3NC42NDQzIDQ0My4yNSBMIDQyOC42NDQzIDQ5NSBMIDQyOC42NDQzIDMzOS43NSBaIiBmaWxsPSJ1cmwoI09ial9HcmFkaWVudCkiLz48cGF0aCBkPSJNIDM3NC42NDQzIDI4OCBMIDM3NC42NDQzIDQ0My4yNSBMIDQyOC42NDQzIDQ5NSBMIDQyOC42NDQzIDMzOS43NSBaIiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPjxyZWN0IHg9IjQyOC42NDQzIiB5PSIzMzkuNzUiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNTUuMjUiIGZpbGw9InVybCgjT2JqX0dyYWRpZW50XzIpIi8+PHJlY3QgeD0iNDI4LjY0NDMiIHk9IjMzOS43NSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE1NS4yNSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDM3NC42NDQzIDI4OCBMIDQyOC42NDQzIDMzOS43NSBMIDQ0Ni42NDQzIDMzOS43NSBMIDM5Mi42NDQzIDI4OCBaIiBmaWxsPSJ1cmwoI09ial9HcmFkaWVudF8zKSIvPjxwYXRoIGQ9Ik0gMzc0LjY0NDMgMjg4IEwgNDI4LjY0NDMgMzM5Ljc1IEwgNDQ2LjY0NDMgMzM5Ljc1IEwgMzkyLjY0NDMgMjg4IFoiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PHBhdGggZD0iTSA3MDIgMzg5LjY4NDU2IEwgNzAyIDQ1Ny4xODQ1NiBMIDczNS43NSA0NzkuNjg0NTYgTCA3MzUuNzUgNDEyLjE4NDU2IFoiIGZpbGw9InVybCgjT2JqX0dyYWRpZW50XzQpIi8+PHBhdGggZD0iTSA3MDIgMzg5LjY4NDU2IEwgNzAyIDQ1Ny4xODQ1NiBMIDczNS43NSA0NzkuNjg0NTYgTCA3MzUuNzUgNDEyLjE4NDU2IFoiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PHJlY3QgeD0iNzM1Ljc1IiB5PSI0MTIuMTg0NTYiIHdpZHRoPSIxMS4yNSIgaGVpZ2h0PSI2Ny41IiBmaWxsPSJ1cmwoI09ial9HcmFkaWVudF81KSIvPjxyZWN0IHg9IjczNS43NSIgeT0iNDEyLjE4NDU2IiB3aWR0aD0iMTEuMjUiIGhlaWdodD0iNjcuNSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDcwMiAzODkuNjg0NTYgTCA3MzUuNzUgNDEyLjE4NDU2IEwgNzQ3IDQxMi4xODQ1NiBMIDcxNC44NTcxNCAzODkuNjg0NTYgWiIgZmlsbD0idXJsKCNPYmpfR3JhZGllbnRfNikiLz48cGF0aCBkPSJNIDcwMiAzODkuNjg0NTYgTCA3MzUuNzUgNDEyLjE4NDU2IEwgNzQ3IDQxMi4xODQ1NiBMIDcxNC44NTcxNCAzODkuNjg0NTYgWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNDQ2LjY0NDMiIHkxPSI0MTcuNDI1MTUiIHgyPSI1MjQuMTAwMSIgeTI9IjQxNy44NTY3NSIgbWFya2VyLWVuZD0idXJsKCNTaGFycEFycm93X01hcmtlcikiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDY5Ljc4ODYgMzkzLjc2MjU4KSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii40MiIgeT0iMTUiIHRleHRMZW5ndGg9IjM2LjE2Ij5ib2R5PC90c3Bhbj48L3RleHQ+PGxpbmUgeDE9IjU4NC4zMjg4NiIgeTE9IjM3Ny42ODQ1NiIgeDI9IjY1OS4xMDAwNSIgeTI9IjM3Ny45NzMzNSIgbWFya2VyLWVuZD0idXJsKCNTaGFycEFycm93X01hcmtlcikiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjU0OSIgeTE9IjM1MS4zMTU0NCIgeDI9IjYyMy43NzEyIiB5Mj0iMzUxLjAyNjY1IiBtYXJrZXItZW5kPSJ1cmwoI1NoYXJwQXJyb3dfTWFya2VyKSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNTk0IiB5MT0iNDM1Ljk0NzIyIiB4Mj0iNjk1LjEwMDM1IiB5Mj0iNDM0LjkyNDk2IiBtYXJrZXItZW5kPSJ1cmwoI1NoYXJwQXJyb3dfTWFya2VyKSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NTkuNTYyNSA1MTIuNzc2KSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii4xNjQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI1MC42NzIiPnNjYWxlIDA8L3RzcGFuPjwvdGV4dD48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MTggNTEyLjE1NTEzKSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii4xNjQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI1MC42NzIiPnNjYWxlIDE8L3RzcGFuPjwvdGV4dD48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MTcuMDYyNSA1MTIuNzc2KSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii4wNjQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSIzNS44NzIiPmlucHV0PC90c3Bhbj48L3RleHQ+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAxLjM5MTM2IDQxMS4wOTE0NCkiIGZpbGw9ImJsYWNrIj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSIuMjE2IiB5PSIxNSIgdGV4dExlbmd0aD0iOTEuNTY4Ij5kb3duc2FtcGxlPC90c3Bhbj48L3RleHQ+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTU4LjY5OCAzMjcuMTMxNykiIGZpbGw9ImJsYWNrIj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSIuMjc2IiB5PSIxNSIgdGV4dExlbmd0aD0iNTkuNTUyIj5jbGFzc19wcjwvdHNwYW4+PHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjUwMCIgeD0iNTkuNTQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0MS4xODQiPmVkaXRvcjwvdHNwYW4+PC90ZXh0Pjx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDYwMCAzNTQuODAyODUpIiBmaWxsPSJibGFjayI+PHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjUwMCIgeD0iLjM2OCIgeT0iMTUiIHRleHRMZW5ndGg9IjQ5Ljc3NiI+Ym94X3ByPC90c3Bhbj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSI0OS44NTYiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0OS43NzYiPmVkaWN0b3I8L3RzcGFuPjwvdGV4dD48cGF0aCBkPSJNIDUzMSAzNDYuMDI2ODUgTCA1MzEgNDU0LjAyNjg1IEwgNTc4LjI1IDQ5MC4wMjY4NSBMIDU3OC4yNSAzODIuMDI2ODUgWiIgZmlsbD0idXJsKCNPYmpfR3JhZGllbnRfNykiLz48cGF0aCBkPSJNIDUzMSAzNDYuMDI2ODUgTCA1MzEgNDU0LjAyNjg1IEwgNTc4LjI1IDQ5MC4wMjY4NSBMIDU3OC4yNSAzODIuMDI2ODUgWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48cmVjdCB4PSI1NzguMjUiIHk9IjM4Mi4wMjY4NSIgd2lkdGg9IjE1Ljc1IiBoZWlnaHQ9IjEwOCIgZmlsbD0idXJsKCNPYmpfR3JhZGllbnRfOCkiLz48cmVjdCB4PSI1NzguMjUiIHk9IjM4Mi4wMjY4NSIgd2lkdGg9IjE1Ljc1IiBoZWlnaHQ9IjEwOCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDUzMSAzNDYuMDI2ODUgTCA1NzguMjUgMzgyLjAyNjg1IEwgNTk0IDM4Mi4wMjY4NSBMIDU0OSAzNDYuMDI2ODUgWiIgZmlsbD0idXJsKCNPYmpfR3JhZGllbnRfOSkiLz48cGF0aCBkPSJNIDUzMSAzNDYuMDI2ODUgTCA1NzguMjUgMzgyLjAyNjg1IEwgNTk0IDM4Mi4wMjY4NSBMIDU0OSAzNDYuMDI2ODUgWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48L2c+PC9nPjwvc3ZnPgo=)\n", + "![](data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMzYzIDI3NyA1MTEgMjY5IiB3aWR0aD0iNTExcHQiIGhlaWdodD0iMjY5cHQiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PG1ldGFkYXRhPiBQcm9kdWNlZCBieSBPbW5pR3JhZmZsZSA2LjYuMSA8ZGM6ZGF0ZT4yMDE3LTA5LTEyIDE4OjU5OjAxICswMDAwPC9kYzpkYXRlPjwvbWV0YWRhdGE+PGRlZnM+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIiBtYXJrZXJVbml0cz0ic3Ryb2tlV2lkdGgiIGlkPSJTaGFycEFycm93X01hcmtlciIgdmlld0JveD0iLTQgLTQgMTAgOCIgbWFya2VyV2lkdGg9IjEwIiBtYXJrZXJIZWlnaHQ9IjgiIGNvbG9yPSJibGFjayI+PGc+PHBhdGggZD0iTSA1IDAgTCAtMyAtMyBMIDAgMCBMIDAgMCBMIC0zIDMgWiIgZmlsbD0iY3VycmVudENvbG9yIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxIi8+PC9nPjwvbWFya2VyPjxmb250LWZhY2UgZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBwYW5vc2UtMT0iMiAwIDUgMyAwIDAgMCAyIDAgNCIgdW5pdHMtcGVyLWVtPSIxMDAwIiB1bmRlcmxpbmUtcG9zaXRpb249Ii0xMDAiIHVuZGVybGluZS10aGlja25lc3M9IjUwIiBzbG9wZT0iMCIgeC1oZWlnaHQ9IjUxNyIgY2FwLWhlaWdodD0iNzE0IiBhc2NlbnQ9Ijk1MS45OTU4NSIgZGVzY2VudD0iLTIxMi45OTc0NCIgZm9udC13ZWlnaHQ9IjUwMCI+PGZvbnQtZmFjZS1zcmM+PGZvbnQtZmFjZS1uYW1lIG5hbWU9IkhlbHZldGljYU5ldWUiLz48L2ZvbnQtZmFjZS1zcmM+PC9mb250LWZhY2U+PGxpbmVhckdyYWRpZW50IHgxPSIwIiB4Mj0iMSIgaWQ9IkdyYWRpZW50IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjZGFkYWRhIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYTVhNWE1Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9Ik9ial9HcmFkaWVudCIgeGw6aHJlZj0iI0dyYWRpZW50IiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDQzMi4yMjEzIDM5Mi41Njc3Nykgcm90YXRlKC0xNzgpIHNjYWxlKDYxLjE5MTMpIi8+PGxpbmVhckdyYWRpZW50IHgxPSIwIiB4Mj0iMSIgaWQ9IkdyYWRpZW50XzIiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNkYWRhZGEiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNkYWRhZGEiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iT2JqX0dyYWRpZW50XzIiIHhsOmhyZWY9IiNHcmFkaWVudF8yIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0OS4zNDA3NiA0MTcuNzgzNDUpIHJvdGF0ZSgtMTc4KSBzY2FsZSgyMy40MDcxODIpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJPYmpfR3JhZGllbnRfMyIgeGw6aHJlZj0iI0dyYWRpZW50XzIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQ3LjUwMjkyIDMxNS4xNjIxMykgcm90YXRlKC0xNzgpIHNjYWxlKDczLjc2MjE5KSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iT2JqX0dyYWRpZW50XzQiIHhsOmhyZWY9IiNHcmFkaWVudCIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg3MzcuMjk4OTcgNDM1LjMyNzk0KSByb3RhdGUoLTE3OCkgc2NhbGUoMzYuODcwMzk1KSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iT2JqX0dyYWRpZW50XzUiIHhsOmhyZWY9IiNHcmFkaWVudF8yIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDc0OC4xNzAzIDQ0Ni4xNzE4Nikgcm90YXRlKC0xNzgpIHNjYWxlKDEzLjU5ODg2MykiLz48bGluZWFyR3JhZGllbnQgaWQ9Ik9ial9HcmFkaWVudF82IiB4bDpocmVmPSIjR3JhZGllbnRfMiIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg3NDcuMzY0OTggNDAxLjczMzAzKSByb3RhdGUoLTE3OCkgc2NhbGUoNDUuNzU3ODI2KSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iT2JqX0dyYWRpZW50XzciIHhsOmhyZWY9IiNHcmFkaWVudCIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSg1ODAuNzMyNDYgNDE4LjkzODU0KSByb3RhdGUoLTE3OCkgc2NhbGUoNTIuMjQ2NzQ0KSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iT2JqX0dyYWRpZW50XzgiIHhsOmhyZWY9IiNHcmFkaWVudF8yIiBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDU5NS44NzM4MyA0MzYuMzY3MjgpIHJvdGF0ZSgtMTc4KSBzY2FsZSgxOS41MDk1NTEpIi8+PGxpbmVhckdyYWRpZW50IGlkPSJPYmpfR3JhZGllbnRfOSIgeGw6aHJlZj0iI0dyYWRpZW50XzIiIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTk0LjU4OTQ0IDM2NS4xNDc0Mykgcm90YXRlKC0xNzgpIHNjYWxlKDY0LjIxODAwNCkiLz48L2RlZnM+PGcgc3Ryb2tlPSJub25lIiBzdHJva2Utb3BhY2l0eT0iMSIgc3Ryb2tlLWRhc2hhcnJheT0ibm9uZSIgZmlsbD0ibm9uZSIgZmlsbC1vcGFjaXR5PSIxIj48dGl0bGU+Q2FudmFzIDE8L3RpdGxlPjxyZWN0IGZpbGw9IndoaXRlIiB3aWR0aD0iOTM3IiBoZWlnaHQ9IjYxOSIvPjxnPjx0aXRsZT5MYXllciAxPC90aXRsZT48bGluZSB4MT0iNzQ2LjMyODg2IiB5MT0iNDI1LjMyODg2IiB4Mj0iODIxLjEwMDA1IiB5Mj0iNDI1LjYxNzY1IiBtYXJrZXItZW5kPSJ1cmwoI1NoYXJwQXJyb3dfTWFya2VyKSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNzIwIiB5MT0iMzk4Ljk1OTczIiB4Mj0iNzk0Ljc3MTIiIHkyPSIzOTguNjcwOTQiIG1hcmtlci1lbmQ9InVybCgjU2hhcnBBcnJvd19NYXJrZXIpIiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPjx0ZXh0IHRyYW5zZm9ybT0idHJhbnNsYXRlKDczNi4xOTggMzc0Ljc3NikiIGZpbGw9ImJsYWNrIj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSIuMjU2IiB5PSIxNSIgdGV4dExlbmd0aD0iNTYiPmNsYXNzIHByPC90c3Bhbj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSI1NS45NjgiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0OS43NzYiPmVkaWN0b3I8L3RzcGFuPjwvdGV4dD48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3NjQgNDAyLjQ0NzE0KSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii4xNDQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0Ni4yMjQiPmJveCBwcjwvdHNwYW4+PHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjUwMCIgeD0iNDYuMDgiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0OS43NzYiPmVkaWN0b3I8L3RzcGFuPjwvdGV4dD48cGF0aCBkPSJNIDM3NC42NDQzIDI4OCBMIDM3NC42NDQzIDQ0My4yNSBMIDQyOC42NDQzIDQ5NSBMIDQyOC42NDQzIDMzOS43NSBaIiBmaWxsPSJ1cmwoI09ial9HcmFkaWVudCkiLz48cGF0aCBkPSJNIDM3NC42NDQzIDI4OCBMIDM3NC42NDQzIDQ0My4yNSBMIDQyOC42NDQzIDQ5NSBMIDQyOC42NDQzIDMzOS43NSBaIiBzdHJva2U9ImJsYWNrIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMSIvPjxyZWN0IHg9IjQyOC42NDQzIiB5PSIzMzkuNzUiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNTUuMjUiIGZpbGw9InVybCgjT2JqX0dyYWRpZW50XzIpIi8+PHJlY3QgeD0iNDI4LjY0NDMiIHk9IjMzOS43NSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE1NS4yNSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDM3NC42NDQzIDI4OCBMIDQyOC42NDQzIDMzOS43NSBMIDQ0Ni42NDQzIDMzOS43NSBMIDM5Mi42NDQzIDI4OCBaIiBmaWxsPSJ1cmwoI09ial9HcmFkaWVudF8zKSIvPjxwYXRoIGQ9Ik0gMzc0LjY0NDMgMjg4IEwgNDI4LjY0NDMgMzM5Ljc1IEwgNDQ2LjY0NDMgMzM5Ljc1IEwgMzkyLjY0NDMgMjg4IFoiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PHBhdGggZD0iTSA3MDIgMzg5LjY4NDU2IEwgNzAyIDQ1Ny4xODQ1NiBMIDczNS43NSA0NzkuNjg0NTYgTCA3MzUuNzUgNDEyLjE4NDU2IFoiIGZpbGw9InVybCgjT2JqX0dyYWRpZW50XzQpIi8+PHBhdGggZD0iTSA3MDIgMzg5LjY4NDU2IEwgNzAyIDQ1Ny4xODQ1NiBMIDczNS43NSA0NzkuNjg0NTYgTCA3MzUuNzUgNDEyLjE4NDU2IFoiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PHJlY3QgeD0iNzM1Ljc1IiB5PSI0MTIuMTg0NTYiIHdpZHRoPSIxMS4yNSIgaGVpZ2h0PSI2Ny41IiBmaWxsPSJ1cmwoI09ial9HcmFkaWVudF81KSIvPjxyZWN0IHg9IjczNS43NSIgeT0iNDEyLjE4NDU2IiB3aWR0aD0iMTEuMjUiIGhlaWdodD0iNjcuNSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDcwMiAzODkuNjg0NTYgTCA3MzUuNzUgNDEyLjE4NDU2IEwgNzQ3IDQxMi4xODQ1NiBMIDcxNC44NTcxNCAzODkuNjg0NTYgWiIgZmlsbD0idXJsKCNPYmpfR3JhZGllbnRfNikiLz48cGF0aCBkPSJNIDcwMiAzODkuNjg0NTYgTCA3MzUuNzUgNDEyLjE4NDU2IEwgNzQ3IDQxMi4xODQ1NiBMIDcxNC44NTcxNCAzODkuNjg0NTYgWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNDQ2LjY0NDMiIHkxPSI0MTcuNDI1MTUiIHgyPSI1MjQuMTAwMSIgeTI9IjQxNy44NTY3NSIgbWFya2VyLWVuZD0idXJsKCNTaGFycEFycm93X01hcmtlcikiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDY5Ljc4ODYgMzkzLjc2MjU4KSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii40MiIgeT0iMTUiIHRleHRMZW5ndGg9IjM2LjE2Ij5ib2R5PC90c3Bhbj48L3RleHQ+PGxpbmUgeDE9IjU4NC4zMjg4NiIgeTE9IjM3Ny42ODQ1NiIgeDI9IjY1OS4xMDAwNSIgeTI9IjM3Ny45NzMzNSIgbWFya2VyLWVuZD0idXJsKCNTaGFycEFycm93X01hcmtlcikiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIxIi8+PGxpbmUgeDE9IjU0OSIgeTE9IjM1MS4zMTU0NCIgeDI9IjYyMy43NzEyIiB5Mj0iMzUxLjAyNjY1IiBtYXJrZXItZW5kPSJ1cmwoI1NoYXJwQXJyb3dfTWFya2VyKSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48bGluZSB4MT0iNTk0IiB5MT0iNDM1Ljk0NzIyIiB4Mj0iNjk1LjEwMDM1IiB5Mj0iNDM0LjkyNDk2IiBtYXJrZXItZW5kPSJ1cmwoI1NoYXJwQXJyb3dfTWFya2VyKSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NTkuNTYyNSA1MTIuNzc2KSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii4xNjQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI1MC42NzIiPnNjYWxlIDA8L3RzcGFuPjwvdGV4dD48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MTggNTEyLjE1NTEzKSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii4xNjQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI1MC42NzIiPnNjYWxlIDE8L3RzcGFuPjwvdGV4dD48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MTcuMDYyNSA1MTIuNzc2KSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii4wNjQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSIzNS44NzIiPmlucHV0PC90c3Bhbj48L3RleHQ+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAxLjM5MTM2IDQxMS4wOTE0NCkiIGZpbGw9ImJsYWNrIj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSIuMjE2IiB5PSIxNSIgdGV4dExlbmd0aD0iOTEuNTY4Ij5kb3duc2FtcGxlPC90c3Bhbj48L3RleHQ+PHRleHQgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTU2LjE5OCAzMjcuMTMxNykiIGZpbGw9ImJsYWNrIj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSIuMjU2IiB5PSIxNSIgdGV4dExlbmd0aD0iNTYiPmNsYXNzIHByPC90c3Bhbj48dHNwYW4gZm9udC1mYW1pbHk9IkhlbHZldGljYSBOZXVlIiBmb250LXNpemU9IjE2IiBmb250LXdlaWdodD0iNTAwIiB4PSI1NS45NjgiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0OS43NzYiPmVkaWN0b3I8L3RzcGFuPjwvdGV4dD48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDIgMzU0LjgwMjg1KSIgZmlsbD0iYmxhY2siPjx0c3BhbiBmb250LWZhbWlseT0iSGVsdmV0aWNhIE5ldWUiIGZvbnQtc2l6ZT0iMTYiIGZvbnQtd2VpZ2h0PSI1MDAiIHg9Ii4xNDQiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0Ni4yMjQiPmJveCBwcjwvdHNwYW4+PHRzcGFuIGZvbnQtZmFtaWx5PSJIZWx2ZXRpY2EgTmV1ZSIgZm9udC1zaXplPSIxNiIgZm9udC13ZWlnaHQ9IjUwMCIgeD0iNDYuMDgiIHk9IjE1IiB0ZXh0TGVuZ3RoPSI0OS43NzYiPmVkaWN0b3I8L3RzcGFuPjwvdGV4dD48cGF0aCBkPSJNIDUzMSAzNDYuMDI2ODUgTCA1MzEgNDU0LjAyNjg1IEwgNTc4LjI1IDQ5MC4wMjY4NSBMIDU3OC4yNSAzODIuMDI2ODUgWiIgZmlsbD0idXJsKCNPYmpfR3JhZGllbnRfNykiLz48cGF0aCBkPSJNIDUzMSAzNDYuMDI2ODUgTCA1MzEgNDU0LjAyNjg1IEwgNTc4LjI1IDQ5MC4wMjY4NSBMIDU3OC4yNSAzODIuMDI2ODUgWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48cmVjdCB4PSI1NzguMjUiIHk9IjM4Mi4wMjY4NSIgd2lkdGg9IjE1Ljc1IiBoZWlnaHQ9IjEwOCIgZmlsbD0idXJsKCNPYmpfR3JhZGllbnRfOCkiLz48cmVjdCB4PSI1NzguMjUiIHk9IjM4Mi4wMjY4NSIgd2lkdGg9IjE1Ljc1IiBoZWlnaHQ9IjEwOCIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48cGF0aCBkPSJNIDUzMSAzNDYuMDI2ODUgTCA1NzguMjUgMzgyLjAyNjg1IEwgNTk0IDM4Mi4wMjY4NSBMIDU0OSAzNDYuMDI2ODUgWiIgZmlsbD0idXJsKCNPYmpfR3JhZGllbnRfOSkiLz48cGF0aCBkPSJNIDUzMSAzNDYuMDI2ODUgTCA1NzguMjUgMzgyLjAyNjg1IEwgNTk0IDM4Mi4wMjY4NSBMIDU0OSAzNDYuMDI2ODUgWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjEiLz48L2c+PC9nPjwvc3ZnPg==)\n", "\n", "We first use a `body` network to extract the image features, \n", - "which are used as the input to the first scale (scale 0). T\n", - "he class labels and the corresponding anchor boxes \n", + "which are used as the input to the first scale (scale 0). The class labels and the corresponding anchor boxes \n", "are predicted by `class_predictor` and `box_predictor`, respectively. \n", "We then downsample the representations to the next scale (scale 1). \n", "Again, at this new resolution, we predict both classes and anchor boxes. \n", @@ -657,7 +656,7 @@ " print('Found hash mismatch in file {}, possibly due to incomplete download.'.format(file_path))\n", " return matched\n", "\n", - "url_format = 'https://apache-mxnet.s3-accelerate.amazonaws.com/gluon/datasets/pikachu/{}'\n", + "url_format = 'https://apache-mxnet.s3-accelerate.amazonaws.com/gluon/dataset/pikachu/{}'\n", "hashes = {'train.rec': 'e6bcb6ffba1ac04ff8a9b1115e650af56ee969c8', \n", " 'train.idx': 'dcf7318b2602c06428b9988470c731621716c393', \n", " 'val.rec': 'd6c33f799b4d058e82f2cb5bd9a976f69d72d520'}\n", @@ -1299,7 +1298,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.2" } }, "nbformat": 4, diff --git a/img/ssd.svg b/img/ssd.svg index be4b6dd..5da321a 100644 --- a/img/ssd.svg +++ b/img/ssd.svg @@ -1,3 +1,3 @@ - Produced by OmniGraffle 6.6.1 2017-08-15 21:47:34 +0000Canvas 1Layer 1class_preditorbox_predictorbodyscale 0scale 1inputdownsampleclass_preditorbox_predictor + Produced by OmniGraffle 6.6.1 2017-09-12 18:59:01 +0000Canvas 1Layer 1class predictorbox predictorbodyscale 0scale 1inputdownsampleclass predictorbox predictor