Skip to content

Commit

Permalink
Trimming down images sizes for arxiv
Browse files Browse the repository at this point in the history
  • Loading branch information
jeffheaton committed Sep 11, 2020
1 parent b94463a commit 5e2528a
Show file tree
Hide file tree
Showing 21 changed files with 9 additions and 21 deletions.
Binary file added images/about-jeff-heaton-2020.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/about-jeff-heaton-2020.png
Binary file not shown.
Binary file added images/class_1_luminaries_ann.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/class_1_luminaries_ann.png
Binary file not shown.
Binary file added images/gan_bad.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/gan_bad.png
Binary file not shown.
Binary file added images/gan_progression.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/gan_progression.png
Binary file not shown.
Binary file removed images/jheaton1.png
Binary file not shown.
Binary file added images/stylegan2-hires.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/stylegan2-hires.png
Binary file not shown.
Binary file added images/stylegan2_images.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/stylegan2_images.png
Binary file not shown.
Binary file added images/svhn_examples_new.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed images/svhn_examples_new.png
Binary file not shown.
Binary file removed images/yolo-4.png
Binary file not shown.
Binary file removed images/yolo_video.png
Binary file not shown.
4 changes: 2 additions & 2 deletions t81_558_class_01_1_overview.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@
"* [Others](http://www.heatonresearch.com/about/) - About me and other social media sites that I am a member of.\n",
"\n",
"**Figure 1.JH: Jeff Heaton Recording a Video**\n",
"![Jeff Heaton at WUSTL Video Studio](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/about-jeff-heaton-2020.png \"Jeff Heaton\")\n",
"![Jeff Heaton at WUSTL Video Studio](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/about-jeff-heaton-2020.jpg \"Jeff Heaton\")\n",
"\n",
"My PhD dissertation explored new methods for feature engineering in deep learning. [[Cite:heaton2017automated]](https://nsuworks.nova.edu/gscis_etd/994/) I also created the Encog Machine Learning Framework in Java and C#. [[Cite:heaton2015encog]](https://arxiv.org/pdf/1506.04776.pdf) I've also conducted research on artificial life [[Cite:heaton2019evolving]](https://link.springer.com/article/10.1007/s10710-018-9336-1)."
]
Expand Down Expand Up @@ -210,7 +210,7 @@
"Neural networks are one of the earliest examples of a machine learning model. Neural networks were initially introduced in the 1940s and have risen and fallen several times from popularity. The current generation of deep learning begain in 2006 with an improved training algorithm by Geoffrey Hinton. [[Cite:hinton2006fast]](https://www.mitpressjournals.org/doi/abs/10.1162/neco.2006.18.7.1527) This technique finally allowed neural networks with many layers (deep neural networks) to be efficiently trained. Four researchers have contributed significantly to the development of neural networks. They have consistently pushed neural network research, both through the ups and downs. These four luminaries are shown in Figure 1.LUM.\n",
"\n",
"**Figure 1.LUM: Neural Network Luminaries**\n",
"![Neural Network Luminaries](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/class_1_luminaries_ann.png \"Neural Network Luminaries\")\n",
"![Neural Network Luminaries](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/class_1_luminaries_ann.jpg \"Neural Network Luminaries\")\n",
"\n",
"The current luminaries of artificial neural network (ANN) research and ultimately deep learning, in order as appearing in the above picture:\n",
"\n",
Expand Down
14 changes: 1 addition & 13 deletions t81_558_class_06_5_yolo.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,11 @@
"source": [
"# Part 6.5: Recognizing Multiple Images with Darknet\n",
"\n",
"Programmers typically design convolutional neural networks to classify a single item centered in an image. However, as humans, we can recognize many items in our field of view in real-time. It is advantageous to be able to recognize multiple items in a single image. One of the most advanced means of doing this is YOLO DarkNet (not to be confused with the Internet [Darknet](https://en.wikipedia.org/wiki/Darknet). YOLO [[Cite:redmon2016you]](https://arxiv.org/abs/1506.02640) is an acronym for You Only Look Once. The fact that YOLO must only look once speaks to the efficiency of the algorithm. In this context, to \"look\" means to perform one scan over the image. Figure 6.YOLO shows YOLO tagging in action.\n",
"Programmers typically design convolutional neural networks to classify a single item centered in an image. However, as humans, we can recognize many items in our field of view in real-time. It is advantageous to be able to recognize multiple items in a single image. One of the most advanced means of doing this is YOLO DarkNet (not to be confused with the Internet [Darknet](https://en.wikipedia.org/wiki/Darknet). YOLO [[Cite:redmon2016you]](https://arxiv.org/abs/1506.02640) is an acronym for You Only Look Once. The fact that YOLO must only look once speaks to the efficiency of the algorithm. In this context, to \"look\" means to perform one scan over the image. Figure 6.YOLO shows YOLO tagging in action. It is also possible to run YOLO on live video streams.\n",
"\n",
"**Figure 6.YOLO: YOLO Tagging**\n",
"![DarkNet](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/darknet-predictions.jpg \"DarkNet\")\n",
"\n",
"It is also possible to run YOLO on live video streams. Figure 6.VIDEO is from the YouTube Video for this module.\n",
"\n",
"**Figure 6.VIDEO: YOLO Video Tagging**\n",
"![DarkNet Video](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/yolo_video.png \"DarkNet Video\")\n",
"\n",
"As you can see, it is classifying many things in this video. My collection of books behind me is adding considerable \"noise,\" as DarkNet tries to classify every book behind me. If you watch the video, you can see that it is less than perfect. The coffee mug that I pick up gets classified as a cell phone and, at times, a remote. The small yellow object behind me on the desk is a small toolbox (not a remote). However, it gets classified as a book at times and a remote at other times. Currently, this algorithm classifies each frame on its own. The program could achieve greater accuracy if it analyzed multiple images from a video stream. Consider when you see an object coming towards you, if it changes angles, you might form a better opinion of what it was. If that same object now changes to an unfavorable angle, you still know what it is, based on previous information.\n",
"\n",
"### How Does DarkNet/YOLO Work?\n",
Expand Down Expand Up @@ -137,13 +132,6 @@
"**Figure 6.YOLO-STRUCT: YOLO Structure**\n",
"![YOLO Structure](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/yolo-3.png \"YOLO Structure\")\n",
"\n",
"Figure 6.YOLO-DEMO shows some additional recognitions performed by a YOLO.\n",
"\n",
"**Figure 6.YOLO-DEMO: YOLO Structure**\n",
"![YOLO Structure](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/yolo-4.png \"YOLO Structure\")\n",
"\n",
"\n",
"\n",
"### Using YOLO in Python\n",
"\n",
"To make use of YOLO in Python, you have several options:\n",
Expand Down
8 changes: 4 additions & 4 deletions t81_558_class_07_3_style_gan.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,16 @@
"GANs have appeared frequently in the media, showcasing their ability to generate extremely photorealistic faces. One significant step forward for realistic face generation was nVidia StyleGAN. [[Cite:karras2019style]](https://arxiv.org/abs/1812.04948) In this module we will explore StyleGAN2, which is the second interation of this technology by nVidia. [[Cite:karras2019analyzing]](https://arxiv.org/abs/1912.04958) We will also preload weights that nVidia trained on. This will allow us to generate high resolution photorealistic looking faces, such seen in Figure 7.STY-GAN.\n",
"\n",
"**Figure 7.STY-GAN: StyleGAN2 Generated Faces**\n",
"![StyleGAN2 Generated Faces](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/stylegan2_images.png \"StyleGAN2 Generated Faces\")\n",
"![StyleGAN2 Generated Faces](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/stylegan2_images.jpg \"StyleGAN2 Generated Faces\")\n",
"\n",
"The above images were generated with StyleGAN2, using Google CoLab. Following the instructions in this section, you will be able to create faces like this of your own. StyleGAN2 images are usually 1,024 x 1,024 in resolution. An example of a full resolution StyleGAN image can be [found here](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/stylegan2-hires.png). \n",
"The above images were generated with StyleGAN2, using Google CoLab. Following the instructions in this section, you will be able to create faces like this of your own. StyleGAN2 images are usually 1,024 x 1,024 in resolution. An example of a full resolution StyleGAN image can be [found here](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/stylegan2-hires.jpg). \n",
"\n",
"While the above images look much more realistic than images generated earlier in this course, they are not perfect. Look at Figure 7.STYLEGAN2. There are usually a number of tell-tail signs that you are looking at a computer generated image. One of the most obvious is usually the surreal, dream-like backgrounds. The background does not look obviously fake, at first glance; however, upon closer inspection you usually can't quite discern exactly what a GAN generated background actually is. Also look at the image character's left eye. It is slightly unrealistic looking, especially near the eyelashes.\n",
"\n",
"Look at the following GAN face. Can you spot any imperfections?\n",
"\n",
"**Figure 7.STYLEGAN2: StyleGAN2 Face**\n",
"![StyleGAN2 Face](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/gan_bad.png \"StyleGAN2 Face\")\n",
"![StyleGAN2 Face](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/gan_bad.jpg \"StyleGAN2 Face\")\n",
"\n",
"* Image A demonstrates the very abstract backgrounds usually associated with a GAN generated image.\n",
"* Image B exhibits issues that earrings often present for GANs. GANs sometimes have problems with symmetry, particularly earrings.\n",
Expand Down Expand Up @@ -548,7 +548,7 @@
"Figure 7.LVEC shows the effects of transforming the latent vector between two images.\n",
"\n",
"**Figure 7.LVEC: Transforming the Latent Vector**\n",
"![GAN](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/gan_progression.png \"GAN\")"
"![GAN](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/gan_progression.jpg \"GAN\")"
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions t81_558_class_07_4_gan_semi_supervised.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
"Semi-supervised classification training is laid exactly the same as a regular GAN. The only differences is that it is not a simple true/false classifier as was the case for image GANs that simply classified if the generated image was a real or fake. The additional classes are also added. Later in this module I will provide a link to an example of [The Street View House Numbers (SVHN) Dataset](http://ufldl.stanford.edu/housenumbers/). This dataset contains house numbers, as seen in the following image.\n",
"\n",
"**Figure 7.SEMI-SVHN: Semi-Supervised Training for the SVHN Data Set**\n",
"![GAN](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/svhn_examples_new.png \"GAN\")\n",
"![GAN](https://raw.githubusercontent.com/jeffheaton/t81_558_deep_learning/master/images/svhn_examples_new.jpg \"GAN\")\n",
"\n",
"Perhaps all of the digits are not labeled. The GAN is setup to classify a real or fake digit, just as we did with the faces. However, we also expand upon the real digits to include classes 0-9. The GAN discriminator is classifying between the 0-9 digits and also fake digits. A semi-supervised GAN classifier always classifies to the number of classes plus one. The additional class indicates a fake classification. \n",
"\n",
Expand Down Expand Up @@ -95,7 +95,7 @@
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3.7 (tensorflow)",
"display_name": "Python 3.6 (tensorflow)",
"language": "python",
"name": "tensorflow"
},
Expand Down

0 comments on commit 5e2528a

Please sign in to comment.