Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
27 views

Practical Machine Learning and Image Processing: For Facial Recognition, Object Detection, and Pattern Recognition Using Python Himanshu Singh 2024 Scribd Download

Singh

Uploaded by

vaskoromos3v
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

Practical Machine Learning and Image Processing: For Facial Recognition, Object Detection, and Pattern Recognition Using Python Himanshu Singh 2024 Scribd Download

Singh

Uploaded by

vaskoromos3v
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Download the Full Version of textbook for Fast Typing at textbookfull.

com

Practical Machine Learning and Image Processing:


For Facial Recognition, Object Detection, and
Pattern Recognition Using Python Himanshu Singh

https://textbookfull.com/product/practical-machine-learning-
and-image-processing-for-facial-recognition-object-
detection-and-pattern-recognition-using-python-himanshu-
singh/

OR CLICK BUTTON

DOWNLOAD NOW

Download More textbook Instantly Today - Get Yours Now at textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Computer Vision Pattern Recognition Image Processing and


Graphics Renu Rameshan

https://textbookfull.com/product/computer-vision-pattern-recognition-
image-processing-and-graphics-renu-rameshan/

textboxfull.com

Image Processing Computer Vision and Pattern Recognition


Hamid R. Arabnia

https://textbookfull.com/product/image-processing-computer-vision-and-
pattern-recognition-hamid-r-arabnia/

textboxfull.com

Medical image recognition, segmentation and parsing :


machine learning and multiple object approaches 1st
Edition Zhou
https://textbookfull.com/product/medical-image-recognition-
segmentation-and-parsing-machine-learning-and-multiple-object-
approaches-1st-edition-zhou/
textboxfull.com

Biota Grow 2C gather 2C cook Loucas

https://textbookfull.com/product/biota-grow-2c-gather-2c-cook-loucas/

textboxfull.com
Image Processing and Pattern Recognition Based on Parallel
Shift Technology First Edition Bilan

https://textbookfull.com/product/image-processing-and-pattern-
recognition-based-on-parallel-shift-technology-first-edition-bilan/

textboxfull.com

Practical Machine Learning with AWS : Process, Build,


Deploy, and Productionize Your Models Using AWS Himanshu
Singh
https://textbookfull.com/product/practical-machine-learning-with-aws-
process-build-deploy-and-productionize-your-models-using-aws-himanshu-
singh/
textboxfull.com

Deep Learning with Applications Using Python Chatbots and


Face, Object, and Speech Recognition With TensorFlow and
Keras Springerlink (Online Service)
https://textbookfull.com/product/deep-learning-with-applications-
using-python-chatbots-and-face-object-and-speech-recognition-with-
tensorflow-and-keras-springerlink-online-service/
textboxfull.com

Practical Machine Learning with AWS Process Build Deploy


and Productionize Your Models Using AWS 1st Edition
Himanshu Singh
https://textbookfull.com/product/practical-machine-learning-with-aws-
process-build-deploy-and-productionize-your-models-using-aws-1st-
edition-himanshu-singh/
textboxfull.com

Data Science and Machine Learning Mathematical and


Statistical Methods Chapman Hall Crc Machine Learning
Pattern Recognition 1st Edition Dirk P. Kroese
https://textbookfull.com/product/data-science-and-machine-learning-
mathematical-and-statistical-methods-chapman-hall-crc-machine-
learning-pattern-recognition-1st-edition-dirk-p-kroese/
textboxfull.com
Practical Machine
Learning and
Image Processing
For Facial Recognition, Object Detection,
and Pattern Recognition Using Python

Himanshu Singh
Practical Machine
Learning and Image
Processing
For Facial Recognition, Object
Detection, and Pattern
Recognition Using Python

Himanshu Singh
Practical Machine Learning and Image Processing
Himanshu Singh
Allahabad, Uttar Pradesh, India

ISBN-13 (pbk): 978-1-4842-4148-6 ISBN-13 (electronic): 978-1-4842-4149-3


https://doi.org/10.1007/978-1-4842-4149-3
Library of Congress Control Number: 2019933848

Copyright © 2019 by Himanshu Singh


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or
part of the material is concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way,
and transmission or information storage and retrieval, electronic adaptation, computer software,
or by similar or dissimilar methodology now known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark
symbol with every occurrence of a trademarked name, logo, or image we use the names, logos,
and images only in an editorial fashion and to the benefit of the trademark owner, with no
intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if
they are not identified as such, is not to be taken as an expression of opinion as to whether or not
they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of
publication, neither the authors nor the editors nor the publisher can accept any legal
responsibility for any errors or omissions that may be made. The publisher makes no warranty,
express or implied, with respect to the material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Celestin Suresh John
Development Editor: Matthew Moodie
Coordinating Editor: Aditee Mirashi
Cover designed by eStudioCalamar
Cover image designed by Freepik (www.freepik.com)
Distributed to the book trade worldwide by Springer Science+Business Media New York,
233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505,
e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a
California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc
(SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail rights@apress.com, or visit http://www.apress.
com/rights-permissions.
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook
versions and licenses are also available for most titles. For more information, reference our Print
and eBook Bulk Sales web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is available
to readers on GitHub via the book’s product page, located at www.apress.com/978-1-4842-4148-6.
For more detailed information, please visit http://www.apress.com/source-code.
Printed on acid-free paper
Table of Contents
About the Author���������������������������������������������������������������������������������ix
About the Technical Reviewer�������������������������������������������������������������xi
Acknowledgments�����������������������������������������������������������������������������xiii
Introduction����������������������������������������������������������������������������������������xv

Chapter 1: Setup Environment��������������������������������������������������������������1


Install Anaconda����������������������������������������������������������������������������������������������������1
Windows����������������������������������������������������������������������������������������������������������2
macOS�������������������������������������������������������������������������������������������������������������4
Ubuntu�������������������������������������������������������������������������������������������������������������4
Install OpenCV�������������������������������������������������������������������������������������������������������4
Install Keras����������������������������������������������������������������������������������������������������������5
Test the Installations���������������������������������������������������������������������������������������������5
Virtual Environments���������������������������������������������������������������������������������������������6

Chapter 2: Introduction to Image Processing���������������������������������������7


Images������������������������������������������������������������������������������������������������������������������8
Pixels��������������������������������������������������������������������������������������������������������������������8
Image Resolution��������������������������������������������������������������������������������������������������9
PPI and DPI����������������������������������������������������������������������������������������������������������10
Bitmap Images����������������������������������������������������������������������������������������������������10
Lossless Compression����������������������������������������������������������������������������������������11
Lossy Compression���������������������������������������������������������������������������������������������12

iii
Table of Contents

Image File Formats���������������������������������������������������������������������������������������������12


Color Spaces�������������������������������������������������������������������������������������������������������13
RGB����������������������������������������������������������������������������������������������������������������14
XYZ����������������������������������������������������������������������������������������������������������������15
HSV/HSL��������������������������������������������������������������������������������������������������������17
LAB����������������������������������������������������������������������������������������������������������������18
LCH����������������������������������������������������������������������������������������������������������������18
YPbPr�������������������������������������������������������������������������������������������������������������19
YUV����������������������������������������������������������������������������������������������������������������20
YIQ�����������������������������������������������������������������������������������������������������������������21
Advanced Image Concepts����������������������������������������������������������������������������������21
Bezier Curve��������������������������������������������������������������������������������������������������22
Ellipsoid���������������������������������������������������������������������������������������������������������23
Gamma Correction�����������������������������������������������������������������������������������������24
Structural Similarity Index�����������������������������������������������������������������������������25
Deconvolution������������������������������������������������������������������������������������������������25
Homography��������������������������������������������������������������������������������������������������26
Convolution����������������������������������������������������������������������������������������������������27

Chapter 3: Basics of Python and Scikit Image�����������������������������������29


Basics of Python�������������������������������������������������������������������������������������������������30
Variables and Data Types�������������������������������������������������������������������������������30
Data Structures���������������������������������������������������������������������������������������������33
Control Flow Statements�������������������������������������������������������������������������������34
Conditional Statements���������������������������������������������������������������������������������37
Functions�������������������������������������������������������������������������������������������������������38
Scikit Image��������������������������������������������������������������������������������������������������������40
Uploading and Viewing an Image������������������������������������������������������������������41
Getting Image Resolution������������������������������������������������������������������������������42

iv
Table of Contents

Looking at Pixel Values����������������������������������������������������������������������������������43


Converting Color Space���������������������������������������������������������������������������������43
Saving an Image��������������������������������������������������������������������������������������������53
Creating Basic Drawings�������������������������������������������������������������������������������53
Doing Gamma Correction������������������������������������������������������������������������������57
Rotating, Shifting, and Scaling Images���������������������������������������������������������������59
Determining Structural Similarity�����������������������������������������������������������������������60

Chapter 4: Advanced Image Processing Using OpenCV����������������������63


Blending Two Images������������������������������������������������������������������������������������������64
Changing Contrast and Brightness���������������������������������������������������������������������66
Adding Text to Images�����������������������������������������������������������������������������������������68
Smoothing Images����������������������������������������������������������������������������������������������71
Median Filter�������������������������������������������������������������������������������������������������71
Gaussian Filter�����������������������������������������������������������������������������������������������71
Bilateral Filter������������������������������������������������������������������������������������������������72
Changing the Shape of Images���������������������������������������������������������������������������75
Effecting Image Thresholding�����������������������������������������������������������������������������80
Calculating Gradients������������������������������������������������������������������������������������������84
Performing Histogram Equalization��������������������������������������������������������������������87

Chapter 5: Image Processing Using Machine Learning����������������������89


Feature Mapping Using the SIFT Algorithm���������������������������������������������������������90
Step 1: Space Construction���������������������������������������������������������������������������91
Step 2: Difference between the Gaussians����������������������������������������������������91
Step 3: Important Points��������������������������������������������������������������������������������92
Step 4: Unimportant Key Points���������������������������������������������������������������������92
Step 5: Orientation of Key Points�������������������������������������������������������������������92
Step 6: Key Features�������������������������������������������������������������������������������������93

v
Table of Contents

Image Registration Using the RANSAC Algorithm�����������������������������������������������98


estimate_affine�������������������������������������������������������������������������������������������105
residual_lengths������������������������������������������������������������������������������������������105
Processing the Images��������������������������������������������������������������������������������106
The Complete Code�������������������������������������������������������������������������������������106
Image Classification Using Artificial Neural Networks��������������������������������������110
Image Classification Using CNNs����������������������������������������������������������������������118
Image Classification Using Machine Learning Approaches������������������������������125
Decision Trees���������������������������������������������������������������������������������������������126
Support Vector Machines����������������������������������������������������������������������������127
Logistic Regression�������������������������������������������������������������������������������������127
Code������������������������������������������������������������������������������������������������������������127
Important Terms������������������������������������������������������������������������������������������������130

Chapter 6: Real-time Use Cases�������������������������������������������������������133


Finding Palm Lines��������������������������������������������������������������������������������������������133
Detecting Faces������������������������������������������������������������������������������������������������135
Recognizing Faces��������������������������������������������������������������������������������������������138
Tracking Movements�����������������������������������������������������������������������������������������141
Detecting Lanes������������������������������������������������������������������������������������������������143

Appendix: Important Concepts and Terminology������������������������������151


Adaboost�����������������������������������������������������������������������������������������������������������151
XGBoost�������������������������������������������������������������������������������������������������������������152
Pulse-coupled Neural Networks�����������������������������������������������������������������������153
Gradient Descent����������������������������������������������������������������������������������������������154
Stochastic Gradient Descent�����������������������������������������������������������������������������155
AdaDelta������������������������������������������������������������������������������������������������������������156
Canny Edge Detector�����������������������������������������������������������������������������������������156

vi
Table of Contents

Sobel Transformation����������������������������������������������������������������������������������������157
Haar Cascade����������������������������������������������������������������������������������������������������158
LBPH Face Recognition�������������������������������������������������������������������������������������158
Image Moments������������������������������������������������������������������������������������������������158
Image Contours�������������������������������������������������������������������������������������������������159
Chessboard Corners Function���������������������������������������������������������������������������160
Calibrate Camera Function��������������������������������������������������������������������������������161
Perspective Transformation Function���������������������������������������������������������������162

Index�������������������������������������������������������������������������������������������������165

vii
About the Author
Himanshu Singh has more than 6+ years of
experience as a data science professional.
Currently, he is a senior data scientist at
V-Soft Labs. He provides corporate training
on data science, machine learning, and deep
learning. He is also a visiting faculty member
in analytics at the Narsee Monjee Institute of
Management Studies, considered one of the
premium management institutes in India. He is founder of Black Feathers
Analytics and Rise of Literati Clubs.

ix
About the Technical Reviewer
Santanu Pattanayak currently works at GE,
Digital, as a staff data scientist and is author
of Pro Deep Learning with TensorFlow: A
Mathematical Approach to Advanced Artificial
Intelligence in Python. He has approximately
12 years of overall work experience, with eight
of years of experience in the data analytics/
data science field, and also has a background
in development and database technologies.
Before joining GE, Santanu worked in
companies such as RBS, Capgemini, and
IBM. He graduated with a degree in electrical
engineering from Jadavpur University, Kolkata,
and is an avid math enthusiast. Santanu is currently pursuing a master’s
degree in data science from the Indian Institute of Technology, Hyderabad.
He also devotes his time to data science hackathons and Kaggle
competitions in which he ranks within the top 500 worldwide. Santanu
was born and brought up in West Bengal, India, and currently resides in
Bangalore, India, with his wife.

xi
Acknowledgments
First of all, I thank the Apress Team, Celestian John and Aditee Mirashi, for
giving me a platform to contribute my image processing knowledge and
share it with readers. Second, I thank my colleagues, without whom this
book would not have been possible: Aravind Kota, Yamuna, and my boss
and mentor, Yunis Ahmad Lone. I also thank my students. They helped
me see which issues are challenging for them, and enabled me to devise
a specific means of explaining the concepts to them in a manner that
facilitates their learning.
Last, but not the least, I thank my wife, Shikha Singh. Her constant
support and help has allowed this project to come to fruition. She assisted
me in all aspects of writing this book, sometimes proofreading and writing
technical details herself.
Many thanks to everyone for your constant support.

xiii
Introduction
Practical Machine Learning and Image Processing gives readers deep
insight into the basics of image processing and various image processing
methodologies and algorithms, applications using various Python
libraries, and real-time use case implementation using machine learning
approaches.
The book begins with a discussion of the setup environment for
different operating systems, presents basic image processing terminology,
and explores useful Python concepts for algorithm application. It
then delves into various image processing algorithms and practical
implementation of them in Python using two libraries: Scikit Image and
OpenCV. Next, advanced machine learning and deep learning methods
are presented for image processing and classification. Concepts such as
Adaboost, XG Boost, convolutional neural networks, and more, for image-
specific applications are explained. Later, the process for making models in
real time and then deploying them is described.
All the concepts in the book are explained using real-life scenarios.
By the end of the book, readers should be able to apply image processing
techniques and make machine learning models for customized
applications.

xv
CHAPTER 1

Setup Environment
In this chapter we prepare our system to run the code included in this
book. Let’s look at how to install the following:

• Anaconda

• OpenCV

• Keras

Aside from the last two packages in the list, most of what we need
comes preinstalled with Anaconda. Let’s start with Anaconda, then follow
with OpenCV and Keras.

I nstall Anaconda
The Anaconda installation page proclaims it is “The Most Popular Python
Data Science Platform.” Using Anaconda, installing supporting software,
setting up virtual environments, and so on, are all quite easy, and the
package comes with one of the best integrated development environments
(IDEs) for Python data science: Jupyter Notebook. Jupyter not only helps
you write Python code, but also it makes your code look beautiful and
presentable. So, let’s get started with the Anaconda installation.

© Himanshu Singh 2019 1


H. Singh, Practical Machine Learning and Image Processing,
https://doi.org/10.1007/978-1-4842-4149-3_1
Chapter 1 Setup Environment

W
 indows
If you are using Windows, here’s the process:

1. Go to www.anaconda.com.

2. On the top right side of the screen , is the button


Downloads. Click it.

3. Scroll down and you will see two versions of


Anaconda: Python version 3.7 and Python version
2.7. In the Python 3.7 version box, select 64-Bit
Graphical Installer (select the 32-bit option, if your
system is a 32-bit system).

4. Wait for the download to finish, then double-click


the installation file.

5. Finish the installation and restart your system.

6. Now, open the Start menu, search for the Anaconda


prompt, and select it. A shell named Anaconda
Prompt appears. Type Jupyter Notebook inside the
shell and you will see a screen like the one displayed
in Figure 1-1.

2
Chapter 1 Setup Environment

Figure 1-1. Opening screen

7. In the top right corner of the Files tab, you’ll see


the drop-down New. Click the downward-pointing
arrow and Select Python 3. Now you’re ready to
code (Figure 1-2)!

Figure 1-2. A new Python script

3
Chapter 1 Setup Environment

m
 acOS
If you are using macOS, here is the Anaconda installation process:

1. Download Anaconda for macOS as you would for


Windows.

2. Double-click the .pkg file and follow the installation


procedures.

3. Open your terminal and type Jupyter Notebook.


You will see the same screen shown in Figure 1-1.

U
 buntu
The process for downloading Anaconda in Ubuntu is as follows:

1. Download Anaconda for Linux as you did for


Windows.

2. Go to the installation folder and type bash


Anaconda-latest-­Linux-x86_64.sh.

3. Follow the installation procedures, open your


terminal, and type Jupyter Notebook. You will see
the same screen shown in Figure 1-1.

I nstall OpenCV
Now that we have installed Anaconda and Jupyter Notebook. The next
thing to do is to install its supporting software. For OpenCV, do the
following:

1. Open the Anaconda Prompt.

2. Type conda install -c conda-forge opencv.

4
Chapter 1 Setup Environment

3. You could also type conda install -c conda-


forge/label/broken opencv.

4. After a few minutes, OpenCV will be installed in


your environment.

Install Keras
To install Keras, follow these procedures:

1. Open the Anaconda Prompt.

Type conda install -c conda-forge keras.

2. After a few minutes, Keras will be installed in your


environment.

Test the Installations


Before going further, you need to test the installations as follows:

1. Open Jupyter Notebook.

2. Open a new Python 3 notebook.

3. Type import cv2. If you do not receive an error,


then OpenCV has been installed perfectly. If an
error comes, either you did something wrong during
the installation, or there may be a compatibility
issue. For rectification, either restart the process of
installation, or refer to OpenCV documentation page.

5
Chapter 1 Setup Environment

4. Type import keras. If you do not receive an error,


then Keras has been installed perfectly. If an error
comes, either you did something wrong during
the installation, or there may be a compatibility
issue. For rectification, either restart the process of
installation, or refer to Keras documentation page.

Virtual Environments
Now that we have installed the software we need, let’s take a look at virtual
environments. Virtual environments are very important when you want
to develop multiple projects. What should we do if we are developing
a product using Python 3, but we want to create another project using
Python 2.7? If we do it directly, we may encounter problems because
different versions of Python are installed. Or, we could create a virtual
environment, install Python 2.7, and develop the product inside that
environment. Regardless of what you develop inside a virtual environment,
it never influences any code outside the environment. Let’s see how we
can create a virtual environment:
1. Type conda create -n environment_name
python=version anaconda. In place of
environment_name, type any name you wish to give
to your environment. In place of version, type any
version of Python that you wish to use (for example,
2.7, 3.5, 3.6, and so on).
2. Now that we have created the environment, we have
to activate it. We do this by typing source activate
environment_name.
3. We can now open Jupyter Notebook and start
working in this environment.
4. To deactivate the environment, type source deactivate.

6
CHAPTER 2

Introduction to Image
Processing
In this chapter we examine exactly what an image is, and its related
properties. By the end of the chapter, you should have an understanding of
the following concepts:

• Images

• Pixels

• Image resolution

• Pixels per inch (PPI) and dots per inch (DPI)

• Bitmap images
• Lossless compression and lossy compression

• Different image file formats

• Different types of color spaces

• Advanced image concepts

© Himanshu Singh 2019 7


H. Singh, Practical Machine Learning and Image Processing,
https://doi.org/10.1007/978-1-4842-4149-3_2
Chapter 2 Introduction to Image Processing

I mages
Visual representation of a real-life object (a person or any other object)
in a two-dimensional form is called an image. An image is nothing but a
collection of pixels in different color spaces. Figure 2-1 is an example of a
normal image.

Figure 2-1. Normal Image

P
 ixels
You might think of a complete image as a set that consists of small
samples. These samples are called pixels. They are the smallest elements in
any digital image. Have you ever zoomed in on an image to such an extent
that you see small squares? Those are pixels. So, pixels are subsamples of
an image that, when get combined, give us the complete image. Figure 2-2
shows how pixels, with various colors, may look.

8
Chapter 2 Introduction to Image Processing

Figure 2-2. Pixels of various colors (Source: www.freeimages.co.uk)

I mage Resolution
Image resolution is the number of pixels present in an image. The greater
the number of pixels, the better quality. Image resolutions are described,
for example, as 320 × 240, 640 × 480, 800 × 600, 1024 × 768, and so on.
This means, for example, that there are 1024 pixel columns and 768 pixel
rows. The total number of pixels is obtained by multiplying both numbers,
which gives us 786,432 pixels. Figure 2-3 shows comparative depictions of
different image resolutions.

1920x1080

1280x720

640x480

Figure 2-3. Comparative image resolution (Source: www.


freeimages.co.uk)

9
Chapter 2 Introduction to Image Processing

P
 PI and DPI
As noted at the beginning of the chapter, PPI means “pixels per inch”
whereas DPI means “dots per inch.” They are the units for measuring
image resolution.
If we consider an inch of an image, the number of square pixels we are
able to see inside it is represented by PPI. DPI, on the other hand, is related
to printing. When we print an image and look at an inch of the print, the
number of dots of ink used is represented by DPI.
As shown in Figure 2-4, PPI looks more smooth whereas DPI is crispier.

Figure 2-4. PPI and DPI representations

B
 itmap Images
In general, when we look at pixel values, they are a range of integers. But,
when we convert the range of integers into bytes, we then have a bitmap
image.
One kind of bitmap is a binary image in which each pixel has one of
two numbers: either a zero or a one. They represent black or white and are
often used for storing images efficiently. Figure 2-5 shows a binary bitmap
image.

10
Chapter 2 Introduction to Image Processing

Figure 2-5. Binary bitmap Representation of Figure 2-1

Lossless Compression
When we want to reduce the size of a file (which can be an image), but
we don’t want to compromise quality, this kind of compression is called
a lossless compression. The compressed file can be saved, but when we
require it, during the decompression process, all the information is restored
and we get the actual image (Figure 2-6). This first type of compression
gives priority to the information contained in the file—especially when
compressing text, where we cannot afford to lose even a single piece of
information.

Original Compressed Restored

Figure 2-6. Lossless compression process

11
Chapter 2 Introduction to Image Processing

L ossy Compression
With lossy compression, on the other hand, some of the data may be lost.
Lossy compression prioritizes saving space, rather than the accuracy of
the retrieved file. Some files, such as those that contain music or images,
can be trimmed and still be unaffected by the compression. There may be
some loss, but it isn’t worrisome (Figure 2-7).

Partially
Original Compressed
Restored

Figure 2-7. Lossy compression process

Image File Formats


The following are some of the most widely used image formats, which are
explained in Table 2-1:

• JPEG: Joint Photographic Experts Group

• JPEG2000: New JPEG format developed in 2000

• TIFF: Tagged Image File Format

• GIF: Graphics Interchange Format

• BMP: Bitmap

• PNG: Portable Network Graphics

• WebP: Format developed by Google

• SVG: Scalable Vector Graphics

12
Chapter 2 Introduction to Image Processing

Table 2-1. Descriptions and Uses of Different Image Types


Image Format Description Use

JPEG Lossy compression of raw images Photographs and


paintings
JPEG2000 Optimized form of JPEG; better compression Surveillance
ratio; both lossless and lossy compression
TIFF Lossless compression; can be stored and Document storage
retrieved without losing information
GIF Bitmap image format; supports animation; Gaming and
lossless compression animation
BMP Independent of display device; lacks of In Windows
compression
PNG Lossless data compression; supports Image transfer
different color spaces over the Internet
WebP Lossless and lossy compression; small size, Stickers in
but comparable image quality with JPEG messaging apps
SVG For interactivity and animation; behaviors Web site
and images defined in XML format; they can development
be searched, indexed, and compressed

Color Spaces
The organization of the colors of in an image in a specific format is called
color space. The way in which a color is represented is called a color model.
Each and every image uses one of the following color spaces for effective
picture representation:

• RGB: red, green, blue

• XYZ: color in the x, y, and z dimensions

13
Chapter 2 Introduction to Image Processing

• HSV/HSL: hue, saturation, and value/hue, saturation,


and lightness

• LAB: luminance, and green–red and blue–yellow color


components
• LCH: lightness, chroma, and hue

• YPbPr: green, blue, and red cables

• YUV: brightness and chroma, or color

• YIQ: luminance, in-phase parameter, and quadrature

Let’s have a look at all these color models one by one.

RGB
Using the RGB color space, red, green, and blue are mixed in different ways
to make different color combinations. Why do we use RGB? Because our
eyes have color receptors that can perceive these three colors and their
combinations quite effectively.
We can form any color, theoretically, from these three colors. Each
color’s intensity is defined within a range of 0 to 255. This range is called
color depth.
RGB color space has two more components :

1. White point chromaticity

2. Gamma connection curve

14
Chapter 2 Introduction to Image Processing

Figure 2-8 shows a Venn diagram of the RGB color space.

Figure 2-8. RGB colors overlap

X
 YZ
RGB colors have a threshold of saturation. They cannot go beyond what
we can see. The XYZ color space helps us go beyond this threshold. Now,
you may wonder why we would want to go beyond the threshold. Well,
it may not be possible for our human eyes to perceive certain colors, but
in the digital world, you may need these colors to be used. For example,
XYZ can be used for color matching; we can enter a color code and then
reproduce later it in different application, such as printing. Using XYZ, we
can encode all the colors that exist in the real world. This color space is
called XYZ because it extrapolates RGB colors in three dimensions: x, y,
and z. Figure 2-9 presents an XYZ representation of an image.

15
Chapter 2 Introduction to Image Processing

Figure 2-9. The XYZ color space

Pixel Thresholding A threshold is used for establishing conditions.


For example, if a pixel intensity is greater than 47, make it black or
make it white; 47 is called a threshold.
Extrapolation If we predict or estimate some value based upon its
relationship with previous values, we are extrapolating. A neighbor to
white pixel may be white (by assumption or extrapolation).

16
Chapter 2 Introduction to Image Processing

H
 SV/HSL
HSV/HSL is an alternative representation of the RGB color space. It
consists of the following components:

• Hue

• Saturation

• Value

• Lightness

Hue is a property that describes three colors: green, red, and magenta. It
can also be a mixture of two pure colors: red and yellow, and yellow and green
Saturation measures the intensity of an image. It tells us how far a color
is from gray. A lower value means the color is approaching gray.
Lightness refers to the intensity of color with respect to white. It tells us
how far a color is from white.
Value is another measure of intensity. It tells us how far a color is from
black. Figure 2-10 shows an HSV representation of an image

Figure 2-10. The HSV color space

17
Exploring the Variety of Random
Documents with Different Content
The Project Gutenberg eBook of Survival factor
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Survival factor

Author: Charles V. De Vet

Illustrator: Paul Orban

Release date: September 7, 2023 [eBook #71592]

Language: English

Original publication: New York, NY: Royal Publications, Inc, 1957

Credits: Greg Weeks, Mary Meehan and the Online Distributed


Proofreading Team at http://www.pgdp.net

*** START OF THE PROJECT GUTENBERG EBOOK SURVIVAL


FACTOR ***
SURVIVAL FACTOR

By CHARLES V. DE VET

Illustrated by ORBAN

They were trapped on a viciously


primitive planet, by an electronic
bloodhound that was viciously unpredictable!

[Transcriber's Note: This etext was produced from


Infinity September 1957.
Extensive research did not uncover any evidence that
the U.S. copyright on this publication was renewed.]
The survey team was seven parsecs beyond the Rim when the
bloodhound picked up their trail.
Three years earlier the inevitable had happened. The humans of the
Ten Thousand Worlds had met another race with the faster-than-light
space drive—and an expanding population. The contacts had been
brief—and violent. Each race had set up defenses against the other,
and maneuvered for position and control of the habitable worlds
separating them. The aliens' bloodhounds formed the outer circle of
their defense perimeter.
The s-tracer continued its bleak chirping as Wallace read the figures
on its dial and made a swift calculation. "We have time for one dip
into spacebridge," he informed Saxton, the other member of the
team. "If we don't find a planet fast when we come out, we've had it."
Saxton nodded. "We'd better backtrack. Set the bridge for that star
group we recorded yesterday. Hurry. We haven't any time to spare."
Four minutes later Wallace brought the two handles of the bridge
control together—and the ship winked into hyperspace. Wallace's
body jerked upright, and he sat stiff and straight, fighting the impulse
to retch that rode his stomach muscles. The room around him took on
the visual consistency of thin milk. The low hum of the ship's
instruments increased in intensity through the hands that he pressed
tightly to his head. Mingled with the sound of the small motors was
Saxton's high-strained muttering: "I can't take any more of it! I can't
take any more of it!"
Then all was normal again. They were out of hyperspace.
Wallace reached for a knob on the board in front of him and began
turning it slowly. Both men watched the vision panel on the front wall.
After a minute a blue globe floated in from one side. "We'll have to try
that one," Wallace said. "It at least has atmosphere."
"We don't have any choice," Saxton answered. With his head he
indicated the s-tracer. Its stark chirping had begun again.
"The hound's closer than I thought," Wallace complained. "We'll have
to risk a faster passage to the surface than would ordinarily be safe."
Drops of perspiration that had gathered on his forehead joined
together and ran down the side of his nose. He shook his head to
clear them away.
By the time they entered the blue planet's atmosphere the intervals
between the chirps of the s-tracer had shortened until now they were
almost continuous. Gradually, as they plunged toward the planet's
surface, the room's temperature rose. They stripped to their shorts
and kept the pace steady. When it seemed that they could stand the
heat no longer the ship paused, and settled slowly to the ground.
Quickly Wallace shut off the drive motors. The only sound within the
ship was the purring of the cooling apparatus.
"Any chance that it can detect our cooling motor?" Saxton asked.
"I don't believe it can follow anything smaller than our main drive,"
Wallace answered. He pointed to the s-tracer. "It's already lost us. Of
course we know it won't go away. It'll circle the planet until we come
out and try again."
During the next hour, as the temperature within the ship returned
slowly to normal, Wallace and Saxton kept busy checking the gauges
that measured and recorded the elements in the planet's atmosphere.
At last Saxton sighed heavily. "Livable," he said.
"Closer to Earth norm than we could have hoped," Wallace agreed.
"What do we do now?"
"We could stay here for two years—until the bloodhound runs out of
fuel. That's the estimated time it's supplied for."
"That doesn't sound like a very encouraging prospect." Saxton's dark
tan features were lined with worry. "We don't have food enough, for
one thing. Maybe the aliens will get discouraged and go away."
"Hardly. You've forgotten that the bloodhounds are fully automatic,
and unmanned. A machine doesn't discourage very easily."
"We sure as heck ought to be able to outwit a machine," Saxton said.
He thought for a moment. "If we waited until it was across the planet
from us, we might have time to get out, and take another jump toward
home. One more and we'd be far enough in so our own cruisers could
take care of the bloodhound."
Wallace shook his head. "Its speed is too great. Our best chance is
that it doesn't hold to a straight path around the planet. The aliens—
not knowing the size of any body we might land on—wouldn't set it for
a dead-line trajectory. I hope."
There was nothing for them to do until the s-tracer had followed the
movements of their stalker long enough to make an adequate graph.
They decided to go outside while they waited.

Wallace and Saxton took only a few steps—and stopped in


amazement. They had a visitor!
The native rose from his kneeling position on the ground and stood
erect. Wallace studied the face of the naked, stick-thin savage, trying
to penetrate beneath the dirt and grime, beneath the mask of
impassive features, to find the quality that held him in questioning
immobility. For a moment he succeeded.
It was not high intelligence that he found, but rather an innate
conviction of power. A conviction and self-assurance so deep that it
needed no demonstration for expression.
Wallace glanced at Saxton where he leaned against the spaceship's
ramp, the whites of his eyes contrasting sharply with the black of his
clean negroid skin. It was clear that he too sensed the odd quality in
the other. And that he was equally unable to decide whether the
savage that so incuriously regarded first one then the other of them
was to be feared, or accepted as amicable. But both already realized
that this was no ordinary meeting between humans and an outworld
native. They were on the verge of an unusual experience.
The savage had been kneeling with his forehead touching the ground
when they stepped out of the ship. However, now that he stood
before them, there was nothing abject in his demeanor. For a long
minute he did not speak or make any motion other than to regard
them. Casually then he raised his right hand and touched his chest.
"Al-fin," he said.
The meaning of the gesture was apparent: Wallace readily
understood that the savage was giving his name. He touched his own
chest. "Ivan," he murmured.
The native turned his gaze to Saxton.
"Gus," Saxton said, shifting his feet uncomfortably.
The native nodded. "Come!" he commanded. He turned his back and
walked away.
There was no question in Wallace's mind about obeying. It was only
his subconscious that moved his hand, to make certain that his gun
was in its holster, and to glance at Saxton to see that he too was
armed. He had walked several yards before the incongruity struck
him: the savage had spoken Earthian!

They followed the native for several miles over a faint game trail that
wound leisurely through brush and skimpy, small-leaved trees, before
either of the men recovered his composure enough to speak.
"He said 'Come'," Saxton mused. "Yet we're the first humans this far
over the Rim. Where did he learn our language?"
Wallace shrugged. "I've been wondering too," he answered.
"Should we try to talk to him?" Saxton asked, glancing ahead at their
companion.
The native, apparently, had no interest in their conversation. "Better
wait," Wallace suggested.
"I don't understand it." Saxton's tone was querulous. "No one's
allowed over the Rim ahead of us. A section has to be surveyed, and
worlds declared fit for habitation, before colonists can move in. Yet we
land here and find a native speaking our language."
"Perhaps he isn't a native," Wallace said.
"What do you mean?"
"When Earth first discovered spacebridge there were no laws
regulating its use. Limits were put on colonizing areas only after some
of the earlier expeditions failed to report back. One of them might
have been marooned here."
"Then this fellow's human?"
"He could be."
"If he is, would he be naked?" Saxton asked.
"Some of those lost expeditions disappeared as long as two thousand
years ago," Wallace answered. "A colony could have slipped back a
long ways in that time."
"But not this far," Saxton demurred. "They'd still have some traces of
their original culture left."
"A one-ship colony would have very limited mechanical resources,"
Wallace said. "And they'd be isolated here. As soon as the tools and
machines they brought with them wore out they'd be almost
impossible to replace. The odds are they'd slip back fast."
"I don't know." Clearly Saxton wasn't satisfied—but he let the subject
hang. "When we saw him kneeling on the ground, I thought that he
was worshipping us. But since then he's been acting as if he thought
he was the god instead of us."
They were halfway across a small clearing now and before Wallace
could answer the native ahead stopped abruptly. He stood
motionless, with his head tilted to one side, as though listening. After
a moment he motioned them to move to the left.
As Wallace and Saxton obeyed, Al-fin pointed urgently toward their
guns. They drew, and the native turned to stare at the bushes at the
far side of the clearing.
"What does he want?" Saxton asked.
"I don't—" Wallace's answer was cut off as a huge "cat," with long
stilt-like legs spread wide, sprang out of the bushes—directly at them.
Wallace and Saxton sprayed the beams of their guns across the cat's
chest, burning a wide, smoking gash. The beast landed, sprang
again, and died.

Saxton let out a long breath of relief. "Close," he said.


Wallace stood with a puzzled frown on his face. "How did he know
the animal was there?" he asked.
"He must have a good sense of hearing," Saxton answered
doubtfully.
"It can't be that good," Wallace protested.
"Maybe this is our chance to get some fresh meat," Saxton said. He
drew a knife from his belt and knelt beside the cat's carcass. He
made several rapid cuts. After a minute he looked up. "Nothing
edible," he said. "Nothing but skin, gristle, and tendons."
They walked on.

They entered another clearing, and found themselves in the midst of


a group of naked savages, obviously Al-fin's people.
"Where did they come from?" Saxton asked, resting his hand on the
grip of his gun.
Wallace looked his way and shook his head. "No guns," he said.
"We'll have to take the chance that they're friendly."
Most of the members of the group, Wallace observed, were lying on
the ground, or idling about at the edges of the small clearing. He
counted twenty-three—of both sexes, and varying ages. There was
no sign of clothing or ornament on any of them. They were naked,
filthy, and nondescript; yet each had the mark of that quality that had
puzzled them in Al-fin—the deep inner assurance. A few glanced
their way, but without any evidence of an unusual degree of interest.
Their attention returned to Al-fin. Streaks of sweat had made gray
trails on his grimy face, and he gave off an odor that was sharp and
rancid. He sat on the ground and motioned for Wallace and Saxton to
do the same.
Wallace hesitated, then spread his hands resignedly. "This is a
strange game," he said. "We'll let him make the first moves." He and
Saxton sat down together.
Al-fin began speaking, without inflection and with few pauses. Some
of the individual words sounded faintly familiar, but the two men could
make no sense of what he said.
"I'm afraid we can't understand you," Wallace told him. In an aside to
Saxton he said, "He won't understand me either, but I don't think we'd
better ignore him."
Saxton nodded. "I guess you are right about his being human," he
said. "Some of those words were definitely Earthian."
Al-fin raised his voice in a shout, "Il-ma!"
One of the women in the center of the clearing laughed and came
toward them. She was stick-thin, as were Al-fin and most of the
others, and very dirty. As she came near she smiled. Her teeth were
discolored and rotting. She giggled.
Al-fin indicated her with a sweep of his arm. "Mate?" he inquired.
Wallace felt himself reddening. "Is he offering her to us?" he asked
Saxton.
"I think so." Saxton smiled uneasily. "It looks like it's our move now."
"We'll have to risk offending them." Wallace looked at Al-fin and
shook his head vigorously. "No mate," he said.
The woman giggled again and walked away. Al-fin seemed to have
lost interest. He pulled himself jerkily to his feet and went across the
clearing to the fire that the two surveyors had noted earlier. A large
clay kettle rested on a flat rock over the fire.
"There's meat in that kettle," Saxton said, whimsically licking his lips.
"I hope he passes some around."
"I don't think we should eat any," Wallace cautioned.
"Why not?"
"You know the saying, one man's meat...."
"But I'm starved for fresh meat," Saxton argued.
"We'll see if we can get him to give us some," Wallace said. "We can
take it back to the ship and test it before we eat any."
They watched Al-fin as he dug in the kettle with a stick and placed the
food he speared on a large leaf. He carried it to where an old man sat
with his back resting against a tree trunk. The hoary veteran had a
long scar on his right arm that ran from shoulder to elbow; evidently
he had had a brush with one of the big cats sometime in the past.
Oddly enough, he was the only native that was not thin and hungry-
looking.
"He must be the chief," Saxton said. "At least he's well fed."
Wallace nodded.
When Al-fin returned Saxton said, "Meat." At the same time he
rubbed his stomach in a circular motion.
Al-fin paused, thinking over what Saxton had said, then nodded
several times. He made a gesture with his arm for them to follow and
led them to the fat old man. "Meat," Al-fin intoned expressionlessly,
and stood as though waiting for the old man's reply.
"I hope he's in a generous mood," Saxton said.
They had seen no sign from the old man, but Al-fin turned to them
and nodded once more. "Meat," he said. He made no further move.
"Why doesn't he get it?" Saxton asked finally. "Apparently he agrees
—but he just stands there."
"Maybe we're supposed to do something now," Wallace said. "But
what? Do you suppose we're expected to pay him some way?"
"That could be," Saxton answered. "Or maybe the chief's eating the
last of what they have now, and they'll give us a chunk when they get
some more. Anyway, let's not wait any longer. I'm starved. Even
canned concentrate would taste good to me now."

By morning the s-tracer had marked the tracking chart sufficiently to


give them some data on the bloodhound's actions. Wallace went over
it carefully.
Saxton stayed in his bunk and pretended to be still sleepy, but
Wallace could feel his gaze following the work closely. When at last
he looked up Saxton said, "Well?"
"We have something to work on," Wallace answered the question in
his voice. "But unless we get more, I don't see how it will help us.
"The bloodhound," he went on, not waiting for further inquiry from
Saxton, "is acting pretty much as we thought it would. It has no
straight line trajectory. At irregular intervals it circles, backtracks, or
goes off at a new tangent. Often it stays over a particular territory for
longer than the three hours we'd need to get away. It's probable that
at some time it will do this on the other side of the planet—where it
couldn't pick up the signal of our leaving. But...."
Saxton was sitting up now. "But what?"
"It's following a random pattern." Wallace studied his fingernails as he
sought for words to make the explanation clear. "The s-tracer will
show us when it is out of range—but there's no way for us to know
how long it will stay in any one place."
"In other words there will be intervals when it will be directly across
the planet from us. But unless it stayed there for close to three hours
—the time we'd need to clear the atmosphere—it would pick up our
signal as it came around, and run us down?"
"That's about it."
"Then we'll have to take the chance."
"We could. And if we can think of nothing better, we will. But the odds
would be heavily against us. Most of its locale changes are made in a
shorter period of time than we'd need to get away."
"We can't sit here for two years." Saxton was a man whose high-
strung nature demanded action, and was the more inclined of the two
to take chances. Wallace preferred weighing influencing factors
before making any decision.
"I think we'd better wait," Wallace said. "Perhaps we'll be able to think
of something that will give us a better chance."
Saxton pulled the sheet-blanket off his legs irritably, and climbed from
the bunk, but he did not argue.

During the morning Saxton killed a small rodent, but found its flesh as
inedible as that of the cat. Wallace stayed inside studying the charts
and instruments.
They had their noonday meal in a small clearing by the side of the
ship. Wallace had been able to find no way of solving their difficulty.
For want of a better plan they'd decided to wait—while keeping close
track of their stalker.
"I've been thinking about those natives," Wallace said, as they lay
stretched on the grass. "If they are lost colonists—have you
wondered how they managed to survive here so long?"
"I did wonder how they protected themselves against the cats,"
Saxton answered. "They don't seem to have any weapons."
"Al-fin demonstrated that they must have exceptionally good hearing,"
Wallace said. "But would that be enough? You'd think the cats would
get them—when they're sleeping, if not during the day—or kill off their
young."
"That's what I meant," Saxton said. "We saw no weapons, so they
must have some other means of defense."
"They live pretty much like animals," Wallace observed. "Maybe they
stay alive the same way. If animals aren't powerful, they're usually
swift. Or they have some other survival characteristics, such as
prolific propagation. But what do these savages have—except
perhaps the sharp hearing that you mentioned? That alone shouldn't
be a deciding factor. Yet they were able to survive here for two
thousand years."
"How about an instinct of dispersal?" Saxton asked. "There might be
hundreds of groups like the one we saw."
"That would help. But my thought was that if they don't use weapons
they might have gone at it from another angle: they adjusted
themselves, instead of their tools, to their environment."
"Special ability stuff?" Saxton asked.
Wallace glanced over at the other man. By the look of abstraction on
Saxton's face he knew that no answer was necessary. Saxton's
imagination was a moving force. When a subject intrigued him he
could no more abandon it and turn to something else than he could
stop breathing. The trait was one that made him an ideal partner for
Wallace, with his more logical reasoning, and his insistence on
weighing fact against fact and belief against belief. It was, in fact, the
reason the two men had been teamed. One was the intuitive, the
other the harmonizing, controlling, factor in their combination.
Saxton rose and stretched. "I think I'll go inside," he said. "I want to
poke around in the library a while."
Wallace smiled and followed his companion into the ship. This at
least would take Saxton's mind off their troubles. Their enforced
inactivity would be less tedious for the more imaginative man.
Saxton selected several tapes from the book shelf and put them in
the magnifier. "When I find something that sounds likely," he said, "I'll
read it. Stop me if you want to discuss anything I find."

A half-hour later Saxton said, "Socrates maintained that the fewer our
needs, the nearer we resemble gods. Do you suppose Al-fin and his
tribe are approaching godhood?"
Wallace's answer, from the bunk where he lay, was a discourteous
grunt.
"I thought so too," Saxton quipped. He went on reading.
Almost an hour went by before he spoke again. "This might help put
our savages in the proper place in their cycle," he said. "Quote:
'Giambattista Vica, a native of Naples, held a theory that human
history progressed in cycles, each of which followed the same
course. The first move in a civilization began when man, terrified by
the forces of nature, invented and worshipped gods in order to
placate them. Next, he made up myths of demi-gods and heroes, and
arrived at the idea of kingship. Finally, from kingship he came to
democracy, which degenerated into chaos; after which the next cycle
started and the process was repeated."
"Interesting," Wallace said. "But even if it fits, I think we understand
well enough where these people are in their cycle. What we want now
is a clue as to what makes them different."
Wallace was about to doze off when Saxton said, "Listen to this: '... in
which he first injected the hormone that produces milk in the breasts
of nursing mothers into the bloodstream of starved virgin rats and
then introduced newly hatched squabs into their cages. Instead of
devouring the luscious meal placed before them, the starved virgin
animals acted as tender foster mothers to the helpless creatures.'" He
looked across at Wallace expectantly.
"I'm afraid I don't—" Wallace began.
"Don't you see?" Saxton asked. "Something about the food here has
made the natives different. We've got to find that food."
"That might be true also," Wallace answered slowly. "But I'm not as
interested in finding what caused the difference as I am in finding the
difference itself."
"Find one and you find the other," Saxton argued. He held up his
hand as Wallace made as though to speak. "Sleep on it," he said.
"Maybe we'll have some ideas by tomorrow."

They were able to extract no new clues from the tracking of the
bloodhound by the next forenoon. Neither man could arrive at any
means of thwarting the alien machine. Wallace had checked the
graph track minutely, looking for signs of a cycle, or cycles, in its
movements. He ended up convinced that none existed. It apparently
operated entirely at random.
At the mid-day meal Saxton suggested, "Let's pay those fellows in the
woods another visit."
"We may as well," Wallace agreed. "We're helpless here until we can
come up with some new idea."
They finished eating and strapped on their sidearms. They were not
certain that the path they took through the woods was the same they
had taken with Al-fin two days before, but at least it led in the same
general direction.
An hour later they were lost. Their way had not led them to the tribe
of naked savages and they had no idea where else to look. They
were debating whether or not to return to their ship when they
stepped out into a clearing—one larger than any they had come on
earlier.
In the center of the clearing rested a spaceship! From where they
stood they could see that its hull was rusted and weather-beaten.
"That hasn't flown in a long time," Saxton said, after the first few
minutes of wonder.
"Probably not since it first landed here," Wallace answered.
The clearing about the vessel had been kept free of brush and
bushes, and when they went across, and through the open portal of
the ship, they found the inside immaculate.
"They certainly keep it clean," Saxton observed.
"It may be a shrine to them," Wallace said. "That would explain why
we found Al-fin kneeling when we landed, and yet why he treated us
so nonchalantly. He was worshipping our ship, not us."
"I hope they don't find us here," Saxton remarked. "We might be
violating some taboo."
Most of the interior fittings of the vessel, they found, had long ago
rotted away. Only the metal parts still remained intact. The instrument
board was unfamiliar to them. "Pretty definitely an early model,"
Wallace said.
Saxton found something on one wall that held his absorbed interest.
"Come here, Ivan," he called.
"What is it?" Wallace asked, going over to stand beside him.
"Read that."
Wallace read aloud from the engraved plaque: "Spring, 2676. We, the
Dukobors, leave our Earth homes in the hope that we may find a
dwelling place for ourselves and our children, where we may worship
our God as we believe proper. We place ourselves in His hands and
pray that He will watch over us on our journey, and in the time to
come."
"That's over nineteen hundred years ago," Saxton said.
"Soon after the discovery of spacebridge," Wallace added. Without
being aware of it they both spoke in whispers.
They inspected the vessel for some time more, but found little of any
further interest.

A short time after they left the ancient spaceship Wallace and Saxton
stumbled on Al-fin and his group of naked natives.
This time they made a concerted effort to communicate with Al-fin,
and one or two of the others, but with no more success than before.
Neither side could understand more than a few words of the other's
language, and they could accomplish very little with signs.
Al-fin sat with them for a time, until they saw him tilt his head in the
gesture they remembered. On his face was the same expression of
listening. After a moment he rose leisurely and indicated that they
were to follow him. Most of the other natives, Wallace noticed on
rising, had already gone over and bunched together at one end of the
clearing. They appeared restless, but not frightened.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like