73380012
73380012
com
OR CLICK HERE
DOWLOAD EBOOK
ebooknice.com
ebooknice.com
ebooknice.com
https://ebooknice.com/product/sat-ii-success-
math-1c-and-2c-2002-peterson-s-sat-ii-success-1722018
ebooknice.com
(Ebook) Master SAT II Math 1c and 2c 4th ed (Arco Master
the SAT Subject Test: Math Levels 1 & 2) by Arco ISBN
9780768923049, 0768923042
https://ebooknice.com/product/master-sat-ii-math-1c-and-2c-4th-ed-
arco-master-the-sat-subject-test-math-levels-1-2-2326094
ebooknice.com
ebooknice.com
ebooknice.com
ebooknice.com
3D Point
Cloud
Analysis
Traditional, Deep Learning, and
Explainable Machine Learning Methods
3D Point Cloud Analysis
Shan Liu • Min Zhang • Pranav Kadam
C.-C. Jay Kuo
© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland
AG 2021
This work is subject to copyright. All rights are solely and exclusively licensed 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.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book
are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or
the editors give a warranty, expressed or implied, with respect to the material contained herein or for any
errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Dedicated to my son, William
—Shan Liu
Dedicated to my parents and grandparents
for their love and support
—Min Zhang
Dedicated to my parents for their love,
encouragement, and support
—Pranav Kadam
Dedicated to my wife, Terri, and my
daughter, Allison
—C.-C. Jay Kuo
Preface
Three-dimensional (3D) point clouds are gaining increasing attention for the
emerging applications of 3D vision. Point clouds have widespread use in several
spectrums of fields, include robotics, 3D graphics, autonomous driving, virtual
reality, and so on. To keep pace with the increasing applications, the research and
development of methods and algorithms to effectively store, process, and infer
meaning from point cloud is on the rise. The traditional algorithms for analyzing
point clouds focus on encoding the local geometric properties of points. The success
of deep learning methods for processing image data led to similar networks being
developed for point clouds. Present day research heavily involves the development
of deep networks for various point cloud processing tasks.
The aim of this book is to give a high-level overview of point clouds and acquaint
the reader with some of the most popular methods and techniques for point cloud
processing. The ideal audience are those with a basic knowledge of linear algebra,
machine learning, and deep learning algorithms, who wish to explore point clouds
in their career or as a hobby.
This book is organized into five chapters. Chapter 1 introduces 3D point clouds
and various related tasks. Chapter 2 discusses traditional point cloud analysis,
including some basic operations such as filtering, nearest neighbor searching, and
model fitting techniques, along with feature detectors and descriptors. Chapter 3 on
deep learning discusses some of the most common machine learning-based meth-
ods. The deep learning literature is abundant, with more research being published
as we write this book. We discuss some of the most representative methods that
summarize the overall research direction. The emphasis is on understanding the
model architecture and the novelty. The experimental details are omitted, and only
key results from papers are provided. Chapter 4 on explainable machine learning
methods presents our own research, which is based on a new machine learning
paradigm called successive subspace learning (SSL). SSL offers several advantages
over deep learning methods. Enough background review on SSL is provided prior
vii
viii Preface
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 3D Point Clouds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 Point Cloud Formation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Comparison with Other Visual Data Forms . . . . . . . . . . . . . . . . . . . 3
1.3 Point Cloud Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 Semantic Segmentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.4 Odometry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5.1 ModelNet40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5.2 ShapeNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.3 S3DIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5.4 3D Match . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.5.5 KITTI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2 Traditional Point Cloud Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1 Filtering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 Downsampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2 Noise Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Nearest Neighbor Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1 Binary Search Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.2 k-Dimensional Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2.3 Octree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3 Model Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.1 Least Squares Fitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3.2 Hough Transform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.3 Random Sample Consensus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
ix
x Contents
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Author Biographies
Shan Liu received the B.Eng. degree in Electronic Engineering from the Tsinghua
University and the M.S. and Ph.D. degrees in Electrical Engineering from the
University of Southern California. She is currently a Distinguished Scientist at
the Tencent and General Manager of the Tencent Media Lab. She was the former
Director of Media Technology Division at MediaTek, USA. She was also formerly
with the MERL and Sony, etc. Dr. Liu has been actively contributing to interna-
tional standards for more than a decade. She has numerous technical proposals
adopted into various standards, such as H.266/VVC, H.265/HEVC, OMAF, DASH,
MMT, and PCC, and served as co-editor of H.265/HEVC SCC and H.266/VVC.
Meanwhile, technologies and products developed by her and her team have served
hundreds of millions of users. Dr. Liu holds more than 200 granted patents and
has published more than 100 technical papers. She was named “APSIPA Industrial
Distinguished Leader” by the Asia-Pacific Signal and Information Processing
Association in 2018, and “50 Women in Tech” by the Forbes China in 2020. She
is on the Editorial Board of IEEE Transactions on Circuits and Systems for Video
Technology (2018–present) and received the Best AE Award in 2019 and 2020. Her
research interests include audio-visual, volumetric, immersive, and emerging media
compression, intelligence, transport, and systems.
Min Zhang received her B.E. degree from the School of Science, Nanjing Uni-
versity of Science and Technology, Nanjing, China, and her M.S. degree from
the Viterbi School of Engineering, University of Southern California (USC), Los
Angeles, USA, in 2017 and 2019, respectively. She joined the Media Communi-
cations Laboratory (MCL) in the summer of 2018 and is currently a Ph.D. student
in the USC, guided by Prof. C.-C. Jay Kuo. Her research interests include point
cloud processing and analysis-related problems, such as point cloud classification,
registration, and segmentation and detection, in the field of 3D computer vision,
machine learning, and perception.
xiii
xiv Author Biographies
Pranav Kadam received his M.S. degree in Electrical Engineering from the
University of Southern California, Los Angeles, USA, in 2020, and the Bachelor’s
degree in Electronics and Telecommunication Engineering from the Savitribai Phule
Pune University, Pune, India, in 2018. He is currently pursuing the Ph.D. degree in
Electrical Engineering from the University of Southern California. He is actively
involved in the research and development of methods for point cloud analysis and
processing. His research interests include 3D computer vision, machine learning,
and perception.
C.-C. Jay Kuo received the Ph.D. degree in Electrical Engineering from the
Massachusetts Institute of Technology, Cambridge, in 1987. He is currently the
holder of William M. Hogue Professorship, a Distinguished Professor of Electrical
and Computer Engineering and Computer Science, and the Director of the USC
Multimedia Communications Laboratory (MCL) at the University of Southern
California. Dr. Kuo is a Fellow of the American Association for the Advancement
of Science (AAAS), the Institute of Electrical and Electronics Engineers (IEEE),
the National Academy of Inventors (NAI), and the International Society for Optical
Engineers (SPIE). He has received several awards for his research contributions,
including the 2010 Electronic Imaging Scientist of the Year Award, the 2010–
2011 Fulbright-Nokia Distinguished Chair in Information and Communications
Technologies, the 2011 Pan Wen-Yuan Outstanding Research Award, the 2019
IEEE Computer Society Edward J. McCluskey Technical Achievement Award, the
2019 IEEE Signal Processing Society Claude Shannon-Harry Nyquist Technical
Achievement Award, the 2020 IEEE TCMC Impact Award, the 72nd annual
Technology and Engineering Emmy Award (2020), and the 2021 IEEE Circuits and
Systems Society Charles A. Desoer Technical Achievement Award.
Chapter 1
Introduction
Abstract 3D point clouds have gained widespread attention in recent years due
to their importance in 3D computer vision. In this chapter, we briefly describe
the fundamentals of 3D point clouds, starting with a formal definition and the
process by which they are formed. We then introduce several other popular 3D
representations like 3D meshes and voxel grids, and compare these representations
with point clouds. We further discuss the common tasks encountered in point
cloud processing, including point cloud registration, object classification, semantic
segmentation, object detection, and point cloud odometry. Next, we present some
common applications of point clouds. Finally, we present some of the datasets that
are frequently used in the research and development of 3D point cloud processing
methods and algorithms. Overall, this introductory chapter forms the basis for
the further chapters, which delve deeper into point cloud processing methods and
related techniques.
1.1 Introduction
Vision is one of the five basic human senses. The human visual system scans
the environment using the eyes and undertakes a series of cognitive processes in
the brain to provide visual perception. Computer vision is the scientific discipline
of replicating the human visual system in machines to grant them the ability of
gaining understanding and reasoning from visual information like digital images
and videos. Computer vision lies at the intersection of several fields, including
signal and image processing, mathematics, and more recently machine learning and
artificial intelligence. Several early works in computer vision focused on developing
methods and algorithms for shape analysis, edge detection, pattern classification,
facial recognition, and so on. The past decade has witnessed unprecedented growth
in the research and development of tools and technologies for computer vision tasks.
Several new applications have also emerged, such as the intersection of vision and
natural language processing.
One branch of computer vision that is of particular interest to us is three-
dimensional (3D) vision, and specifically 3D point cloud processing. Unlike
traditional two-dimensional (2D) vision, which relies purely on images and projects
the 3D world onto a 2D plane, 3D vision techniques provide a complementary
approach by utilizing different forms of data such as depth maps, multi-view images,
voxel grids, meshes, and point clouds.
Point clouds are inherently different from 2D images. While 2D images are only
projections of the 3D world on a 2D plane, point clouds give 3D information
about the structure of object. Point clouds are more robust under different lighting
conditions and even reliable in darkness. However, one advantage of 2D images is
that they have a well-defined grid structure. In contrast, point clouds are unordered
in nature, which means that the methods and algorithms used to process them must
be invariant under any permutation of the point cloud data and insensitive to the
4 1 Introduction
order in which the points appear in the stored data. The 2D grid representation
in images permits the use of operations like convolution with kernels. The use of
convolutional neural networks (CNNs), which are based on such convolutions, has
offered tremendous benefit to 2D vision problems in recent times. However, due to
the irregular structure of point clouds, such convolutions are not possible directly. In
most practical cases, point clouds are very sparsely populated and contain outliers
and noise.
Other forms of 3D representations include depth images (RGB-D), voxel grids,
and meshes. RGB-D images combine conventional 3-channel color images (RGB)
with an additional depth channel. The D value represents the distance between the
image plane and the corresponding object. A popular example of a depth camera
is Microsoft Kinect, which uses an infrared projector to obtain depth information.
The 3D point cloud can be recovered from the RGB-D image if the camera’s
intrinsic parameters are known. RGB-D images can still be processed using normal
convolutions, since they preserve an ordered structure like 2D images.
Voxel grids are 3D occupancy cubes that can be produced from point cloud data.
Voxel grids consist of fixed-sized grids that loosely resemble pixels in 2D images.
This offers a structured volumetric representation and allows 3D convolutions to be
performed. However, the conversion process from point cloud to voxel grid is time
consuming; hence, this representation may not be suitable to represent large-scale
point clouds.
Meshes are geometric structures that approximate 3D surfaces. A single stan-
dalone point in a point cloud has little information to convey. It only makes sense
when points within a neighborhood are jointly considered. These points represent
discrete samples of a continuous surface. Meshes approximate this surface by fitting
polygons, with the original 3D points forming the vertices.
We now turn our attention to some of the fundamental tasks associated with 3D
point cloud processing. We begin with 3D registration followed by classification and
semantic segmentation. These tasks will be discussed in depth throughout the book.
Some auxiliary tasks like object detection and point cloud odometry are discussed
in this section; however, the methods and algorithms pertinent to these tasks are
outside the scope of this book.
1.3.1 Registration
preserving, whereby the distance between any two points remains the same after
the transformation. 3D rotation and translation fall under this category. Non-rigid
transformations, such as scaling, perspective, and affine transformations, introduce
different forms of deformations. For most practical applications, the emphasis will
be on rigid transformations.
The goal of registration is to find the rotation and translation that best aligns two
point clouds with respect to a chosen frame of reference. The two point clouds to be
registered are commonly referred to as the source and target in point cloud literature.
In practice, multiple point cloud scans are registered to obtain a complete view of
the environment. Each pair of point clouds typically has only a small overlapping
region. The registered point cloud is then used for further processing. Registration
of two point clouds from an indoor scene is shown in Fig. 1.2.
Several established methods exist for point cloud registration. We can loosely
categorize these methods into correspondence-based and correspondence-free reg-
istration. The first category establishes point correspondences between the two
point clouds and then uses the correspondence information to estimate the best 3D
transformation. The general procedure to find correspondences is to first extract
some local feature descriptors of points and then use a nearest neighbor rule. The
local feature descriptors can be handcrafted or learned from data. These techniques
will be discussed in detail in the subsequent chapters.
6 1 Introduction
1.3.2 Classification
Classification is a widely used task in machine learning. From a point cloud sense,
classification aims to categorize an object represented by a set of 3D points into one
of the predefined classes. The general pipeline for point cloud classification is to
extract global feature vectors for the point cloud and then train a machine learning
classifier to recognize the object. The features can be handcrafted or learned from
training data. Most recent methods train end-to-end deep networks that combine
the feature extraction and classification processes. A two-class object classification
example is illustrated in Fig. 1.3. The class categories are labeled below the objects.
1.3.4 Odometry
Fig. 1.4 Semantic segmentation of an outdoor scene. Top: input point cloud, bottom: output after
segmentation
visual odometry. Recently, point clouds have been increasingly used to supplement
RGB images for odometry tasks. This is known as LiDAR odometry. Point cloud
registration is an essential part of LiDAR odometry algorithms. Odometry is often
carried out as part of bigger tasks such as simultaneous localization and mapping
(SLAM), which is commonly encountered in robotics.
1.4 Applications
1.5 Datasets
Public datasets are critical when it comes to the research and development of
algorithms. Datasets provide a common ground for evaluating algorithms and
methods and enable the performance of different methods to be compared. In this
section, we discuss the highlights of some commonly used datasets for different
point cloud tasks. These datasets will be frequently mentioned throughout the book.
1.5.1 ModelNet40
Fig. 1.5 ModelNet40 dataset. From left to right: person, cup, stool, and guitar
1.5 Datasets 9
1.5.2 ShapeNet
The ShapeNet core dataset [2] contains 57,448 CAD models of man-made objects
(airplane, bag, car, chair, etc.) in 55 categories. Each CAD model is sampled to
2048 points with three Cartesian coordinates. The ShapeNet core dataset is not fully
annotated. The ShapeNetPart dataset [9] is a subset of the ShapeNet core dataset to
predict a part category for each point. The ShapeNetPart dataset has 16,881 CAD
models in 16 object categories, which are each sampled at 2048 points to generate
point clouds. Each object category is annotated with two to six parts, and there
are 50 parts in total. The dataset is divided into three sections: 12,137 shapes for
training, 1870 shapes for validation, and 2874 shapes for testing. Different models
of airplane, bag, earphone, and car with annotations are shown in Fig. 1.6.
1.5.3 S3DIS
The Stanford 3D Indoor Segmentation (S3DIS) dataset [1] is a subset of the Stanford
2D-3D-Semantics dataset. It is one of the benchmark datasets for point cloud
semantic segmentation tasks. The S3DIS dataset contains point clouds scanned from
10 1 Introduction
Fig. 1.7 Details of S3DIS Dataset from [5]. Permitted by CC BY 4.0 License
6 indoor areas with 271 rooms. There are 13 categories in total, such as ceiling, floor,
wall, door, etc. Each point has 9 dimensions including XYZ, RGB, and normalized
XYZ. Different from ShapeNet, the dataset is labeled by object categories instead
of object part categories. The dataset is usually pre-processed by block partitioning.
That is, each room is split into 1×1 m blocks, where each block is randomly sampled
to 4096 points for training, while all points can be used for testing depending on
the memory of the computing devices. The K-fold strategy is used for training and
testing (Fig. 1.7).
1.5.4 3D Match
The 3D Match dataset [10] is an ensemble of different indoor scenes from the
SUN3D [8] and 7-Scenes dataset [6]. It comprises several indoor scenes such as
kitchen, bedroom, office, lab, etc. This dataset is used for geometric registration of
3D indoor scenes. Each scene is constructed from 50 depth frames. The authors have
used the correspondences from 3D reconstruction datasets of SUN3D and 7-Scenes
to generate the ground truth labels for training. Two point clouds from this dataset
are shown in Fig. 1.8.
1.5.5 KITTI
The KITTI vision benchmark suite [3] is a dataset developed for autonomous driving
purposes. The KITTI dataset is a collection of RGB images, depth maps, and point
1.5 Datasets 11
clouds of urban street scenes in Germany, closely resembling the environment for
a self-driving car. The KITTI vision challenge consists of several computer vision
tasks for autonomous driving, such as stereo, odometry, object detection, tracking,
semantic segmentation, and so on. One of the tasks is visual odometry/SLAM. For
this task, the data consists of 22 stereo sequences, 11 with ground truth information
for training and the remaining 11 for testing. The monocular/stereo images can
be jointly used along with the point cloud scans for visual odometry tasks. The
point clouds are captured using a Velodyne LiDAR. Two point cloud scans from the
KITTI dataset are shown in Fig. 1.9.
12 1 Introduction
1.6 Summary
This brings us to the end of the first chapter. Now that we have gained a basic level
of insight into point clouds, we move on to more in-depth discussion on point cloud
processing methods. We divide the methods into three broad categories: traditional
methods, deep learning-based methods, and methods based on our own research on
explainable machine learning for point clouds.
The traditional methods are based on some form of handcrafted features and
the local geometric properties of points. No learning or large training data is
involved. More recently, data-driven methods for point clouds have emerged. The
success of deep learning—particularly CNNs—for 2D computer vision tasks has
led researchers to develop similar networks for 3D point clouds. However, unlike
2D images, the unstructured and unordered nature of 3D point clouds makes
it challenging to port such networks directly for point cloud processing. These
deep learning-based methods require massive amounts of training data (likely
labeled data in a supervised learning setting). In general, deep learning methods
outperform traditional methods. The methods based on our own research on
explainable machine learning for point clouds are based on the design principles of
successive subspace learning (SSL) [4, 11] which offers a complementary approach
to conventional deep learning-based design. More details regarding SSL and its
benefits are discussed in Chap. 4.
The next chapter is on traditional methods for analyzing point clouds.
References
1. Armeni, I., Sener, O., Zamir, A.R., Jiang, H., Brilakis, I., Fischer, M., Savarese, S.: 3d semantic
parsing of large-scale indoor spaces. In: Proceedings of the IEEE International Conference on
Computer Vision and Pattern Recognition (2016)
2. Chang, A.X., Funkhouser, T., Guibas, L., Hanrahan, P., Huang, Q., Li, Z., Savarese, S., Savva,
M., Song, S., Su, H., et al.: ShapeNet: an information-rich 3d model repository (2015). arXiv
preprint arXiv:1512.03012
3. Geiger, A., Lenz, P., Stiller, C., Urtasun, R.: Vision meets robotics: the KITTI dataset. Int. J.
Robot. Res. (2013)
4. Kuo, C.C.J., Zhang, M., Li, S., Duan, J., Chen, Y.: Interpretable convolutional neural networks
via feedforward design. J. Vis. Commun. Image Represent. 60, 346–359 (2019)
5. Poux, F., Billen, R.: Voxel-based 3d point cloud semantic segmentation: unsupervised geomet-
ric and relationship featuring vs deep learning methods. ISPRS Int. J. Geo-Inform. 8(5), 213
(2019)
6. Shotton, J., Glocker, B., Zach, C., Izadi, S., Criminisi, A., Fitzgibbon, A.: Scene coordinate
regression forests for camera relocalization in RGB-D images. In: Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition, pp. 2930–2937 (2013)
7. Wu, Z., Song, S., Khosla, A., Yu, F., Zhang, L., Tang, X., Xiao, J.: 3d ShapeNets: a deep
representation for volumetric shapes. In: Proceedings of the IEEE Conference on Computer
Vision and Pattern Recognition, pp. 1912–1920 (2015)
References 13
8. Xiao, J., Owens, A., Torralba, A.: SUN3D: A database of big spaces reconstructed using SfM
and object labels. In: Proceedings of the IEEE International Conference on Computer Vision,
pp. 1625–1632 (2013)
9. Yi, L., Kim, V.G., Ceylan, D., Shen, I.C., Yan, M., Su, H., Lu, C., Huang, Q., Sheffer, A.,
Guibas, L.: A scalable active framework for region annotation in 3d shape collections. ACM
Trans. Graph. 35(6), 1–12 (2016)
10. Zeng, A., Song, S., Nießner, M., Fisher, M., Xiao, J., Funkhouser, T.: 3dmatch: learning local
geometric descriptors from RGB-D reconstructions. In: CVPR (2017)
11. Zhang, M., You, H., Kadam, P., Liu, S., Kuo, C.C.J.: PointHop: An explainable machine
learning method for point cloud classification. IEEE Trans. Multimedia 22(7), 1744–1755
(2020)
Chapter 2
Traditional Point Cloud Analysis
Abstract Point cloud data is widely used in the fields of computer-aided design
(CAD), augmented and virtual reality (AR/VR), robot navigation and perception,
and advanced driver assistance systems (ADAS). However, point cloud data is
sparse, irregular, and unordered by nature. In addition, the sensor typically produces
a large number (tens to hundreds of thousands) of raw data points, which brings
new challenges, as many applications require real-time processing. Hence, point
cloud processing is a fundamental but challenging research topic in the field of
3D computer vision. In this chapter, we will first review some basic point cloud
processing algorithms for filtering, nearest neighbor search, model fitting, feature
detection, and feature description tasks. We generate some images using an open-
source library, Open3D, to help illustrate the algorithms. Next, we will go over some
classical pipelines for object recognition, segmentation, and registration tasks.
2.1 Filtering
3D point cloud data commonly contains noise due to sensor or environmental fac-
tors. This noise can result in inaccurate calculations regarding the local point cloud
characteristics and discrepancies in the following processing steps. In addition, the
large number of raw data points generated by 3D point cloud sensors means that
downsampling is usually adopted to reduce the workload. In this section, we will
introduce the use of filtering processes for downsampling and noise removal.
2.1.1 Downsampling
Voxel Grid Downsampling Voxel grid downsampling first builds a 3D voxel grid
on top of the point cloud. Then, one point is taken from each cell to approximate all
the points in that cell. There are three ways to determine which point will be taken:
random selection, center point, and centroid point. The random selection approach
randomly selects a point in the cell, less accurate but faster than the other methods.
The center point approach uses the barycenter of the cell to represent the entire cell;
however, this may not be a real point. The centroid approach finds the nearest point
in the cell to the barycenter. The centroid approach is slightly slower than the first
two approaches, but it preserves the underlying surface more accurately.
Given a point cloud p1 , p2 , · · · , pn , we first compute the minimum and maxi-
mum values for x, y, and z coordinates:
xmin = min(x1 , x2 , · · · , xn ),
xmax = max(x1 , x2 , · · · , xn ),
ymin = min(y1 , y2 , · · · , yn ), (2.1)
..
.
zmax = max(z1 , z2 , · · · , zn ).
For a voxel grid of size r, the dimensions of the voxel grid are
Subsequently, points with the same voxel index are selected based on the chosen
approach (random/center/centroid point sampling). An example of voxel grid
downsampling is shown in Fig. 2.1. A point cloud of cup in the 3D space is shown
in the leftmost of the figure. For visualization, we set the depth of the cup to be 0
(a) (b)
Fig. 2.3 Comparison between uniform sampling and NSS. (a) Uniform sampling. (b) NSS
so that the cup becomes 2D as in the middle of the figure. The centroid of each grid
(marked in red) is taken as the sampling point.
Farthest Point Sampling (FPS) FPS [16, 22, 29] is an iterative algorithm that
assigns higher possibilities to points with longer distances to the selected points
until convergence. An example of FPS is shown in Fig. 2.2. A random point is first
selected as the first FPS point (marked in red at the bottom of the cup) in the leftmost
figure. For each of the remaining points, the distance to the nearest FPS point is
calculated. The point with the largest distance is selected as the next FPS point
(marked in red at the top left of the cup) in the leftmost figure. m iterations are
conducted, where m is the number of points that we want to keep. The final result is
shown in the rightmost of the figure.
Normal Space Sampling (NSS) NSS [33] selects points according to the surface
normal. It first constructs a set of bins in the normal space, with points added into
the bin according to their surface normals. Then, points are uniformly selected from
all bins until the desired number of points is reached. The NSS method is used
in iterative closest point (ICP) [6] for registration. A comparison between uniform
sampling and NSS is shown in Fig. 2.3. With consideration of surface normal, the
selection of points is more uniform.
Surface Normal Surface normal is the vector perpendicular to the tangent plane
of the surface at a given point. It is widely used in plane detection and segmenta-
tion/clustering tasks, and as a feature of point clouds in deep learning. To compute
the surface normal of a point p, we first find its neighborhood and fit a surface
ax + by + cz + d = 0 over the local neighborhood. Mathematically, the surface
normal will be
18 2 Traditional Point Cloud Analysis
Fig. 2.4 Surface normal estimation from Open3D [46]. Copyright © 2018–2021, www.open3d.
org. (a) Surface normal estimation. (b) Propagating the normal orientation
[a, b, c]T
n = [nx , ny , nz ]T = . (2.4)
[a, b, c]T
More generally, we can apply principle component analysis (PCA) [41] on the
neighborhood to obtain eigenvalues λ1 , λ2 , and λ3 , where λ1 >= λ2 >= λ3 , and
the corresponding eigenvectors v1 , v2 , and v3 . The least significant component, v3 ,
is the surface normal n. That is,
n = v3 . (2.5)
λ3
c= . (2.6)
λ1 + λ2 + λ3
Radius Outlier Removal Radius outlier removal filters points in a cloud based on
the number of neighbors in a certain radius. For each point, we first find its neighbors
2.1 Filtering 19
Fig. 2.5 Geometric features based on eigenvalues of the local structure tensor [20]. Permitted by
CC BY 3.0 License
within a certain radius r. If the number of neighbors k is less than a given number
kmin , it will be considered as an outlier and removed. An example of radius outlier
removal is shown in Fig. 2.6. The green point is considered an inliner, while the red
points are outliers.
Statistical Outlier Removal Statistical outlier removal removes points that are
further away from their neighbors. For each point, we first find a neighborhood and
calculate its distance to the neighbors dij considering the point index i = 1, · · · , n
and the neighbor index j = 1, · · · , k. Then, the distances are modeled by Gaussian
distribution d ∼ N(μ, σ ):
20 2 Traditional Point Cloud Analysis
Fig. 2.7 Summary of point cloud filtering methods from Open3D [46]. Copyright © 2018–2021,
www.open3d.org. (a) Original point cloud. (b) Voxel grid downsampling: voxel size 0.02. (c)
Radius outlier removal: kmin = 16, r = 0.05. (d) Statistical outlier removal: k = 20, c = 2
1
n k 1 n
k
μ= dij , σ = (dij − μ)2 . (2.7)
nk nk
i=1 j =1 i=1 j =1
If the mean distance to the neighboring points is outside a defined interval, the point
will be removed. For example, the point will be removed if
1 1
k k
dij > μ + cσ or dij < μ − cσ, c ∈ R+ . (2.8)
k k
j =1 j =1
Then, radius outlier removal and statistical outlier removal are conducted on the
downsampled point cloud in Fig. 2.7c and d, respectively. The outliers are marked
in red, and the inliers are marked in gray.
Fig. 2.8 Comparison of K-NN and Radius-NN. (a) K-NN. (b) Radius-NN
22 2 Traditional Point Cloud Analysis
search tree (BST) [11], k-dimensional (k-d) tree [3], and octree [28]. BST is for
one-dimensional (1D) data, k-d tree works for data of any dimension, and octree is
optimized for 3D data.
Binary Search Tree (BST) is a node-based tree data structure. Each node stores a
key. Each key is greater than the keys in the left subtree of the node but lower than
the keys in the right subtree of the node. The left and right subtrees are both BSTs.
The basic operations of BST include tree construction, insertion, searching, and
deletion.
BST Construction We first construct a BST using all the points in the point
cloud. This can be completed by recursively inserting elements. The worst-case
time complexity is O(h) where h is the height of the BST. If the tree is extremely
imbalanced (i.e., a chain), then h is the number of points. If the tree is balanced,
then h = log2 N.
Example of 1-NN Search by BST An example is shown in Fig. 2.9 to explain 1-
NN search by BST. Assuming the query point is key 11, we want to find its nearest
neighbor with the constructed BST by traversing the tree. The traversal process is
described briefly below:
• Starting at the root node (key 8), the worst distance is |11 − 8| = 3. Because all
points in the left subtree are 3 or more away from 11, we only need to search the
right subtree;
• Go to the node with key 10, and update the worst distance as |11 − 10| = 1,
because 1 < 3. Then, search the right subtree of node 10;
• Go to the node with key 14, the distance is |11 − 14| = 3. Because 3 > 1,
the worst distance remains 1. The right subtree of node 14 will therefore only be
farther away, while the left subtree may reduce the distance. Thus, the left subtree
of node 14 is then searched;
• Go to the node with key 13, the distance is |11 − 13| = 2. Because 2 > 1, the
worst distance is still 1.
• When there are no more subtrees, the search ends.
K-NN Search by BST The K-NN search by BST is similar to the example of 1-
NN search, except for the worst distance. In K-NN search, a container is built to
store the K nodes, and the worst distance is the largest distance of nodes in the
store to the query node which is dynamic. The areas outside the worst circle can be
skipped, while the areas inside the worst circle are searched and the worst distance
is updated.
Radius-NN Search by BST The radius-NN search by BST is similar to the K-NN
search by BST in that it skips the areas that are outside the worst circle. The only
difference is that the worst distance is fixed rather than dynamic, which is a fixed
radius we set.
BST Search Time Complexity BST-based NN search shortens the time complex-
ity for brute-force NN search from O(N) to O(logN) for one query point if the tree
is balanced, where N is the number of points.
A k-dimensional (k-d) tree is a binary tree where every leaf node is a k-dimensional
point. It is an extension of BST into higher dimensions, invented by Jon Louis
Bentley in 1975. Examples of 2D and 3D k-d trees are shown in Fig. 2.10.
k-d Tree Construction k-d tree construction, starting from the root node, takes
place as follows:
• If the node has only one point or the number of points is less than the leaf size,
stop splitting and store the node as a leaf node;
Fig. 2.10 Examples of 2D and 3D k-d trees from [8]. The splitting position is one of the points.
Permitted by GNU General Public License. (a) 2D k-d tree. (b) 3D k-d tree
24 2 Traditional Point Cloud Analysis
• Otherwise, divide the points of the node into two parts by a hyperplane
perpendicular to the selected splitting axis. Points to the left of the hyperplane
go to the left subtree of that node, and points to the right of the hyperplane go to
the right subtree;
• Repeat the first two steps until the stopping criteria are satisfied.
The splitting position can be or not be one of the points. The splitting axis can either
be round-robin: x → y → z → x → y → · · · or adaptive (the axis with widest
spread).
An example of 2D k-d tree construction is shown in Fig. 2.11. To construct the
2D k-d tree, we first sort the values to obtain the median position s1 along the x-
axis and split all the points to two subtrees. This is repeated for the left and right
subtrees. For example, the median position along y-axis is computed for all points
in the left subtree. Iteration is continued until the stopping criteria are met. The time
complexity is O(logN(N logN)) due to the sorting at each level of the tree. With
a O(N) median finding approach, the k-d tree can be constructed in O(NlogN).
There are some simple methods that work well in practice but have lower time
complexity, for example, sampling a subset of the points in each node for sorting
instead of sorting all points, or using the mean instead of the median. However, these
methods cannot guarantee a balanced k-d tree where each leaf node is approximately
the same distance to the root.
K-NN Search by k-d Tree The K-NN search by k-d tree is conducted from the
root node to the leaf node that covers the query point. The query point is compared
to all points in the leaf node. Then, the tree is traversed accordingly. Up to K points
are stored, and the worst distance is updated each time. The criteria for when a
partition intersects with the worst distance are as follows:
• The splitting axis is inside the partition.
• The distance between the splitting axis and the partition is less than the worst
distance.
2.2 Nearest Neighbor Search 25
A 2-NN search by k-d tree example is shown in Fig. 2.12. In this case, the initial
worst distance d is infinite. The search follows the following sequence:
• The left-side of s1 and up-side of s2 is the partition that covers the query node g,
so point a is stored. The worst distance is still infinite.
• Since the distance |s2 − gy | < d, go to the left subtree of s2 and right subtree
of s3 , so point c is stored. The worst distance now becomes d = g − a since
g − a > g − c.
• Since |s1 − gx | < d and |s4 − gy | > d, go to the right subtree of s4 , but because
g − b > d, b is not stored.
Radius-NN Search by k-d Tree Radius-NN search by k-d tree is similar to that
for K-NN search. The only difference is that the worst distance is fixed rather than
dynamic. That is, the worst distance is the fixed radius that we set.
k-d Tree Search Time Complexity The time complexity of 1-NN search in a
balanced k-d tree is O(logN) for one query point. The time complexity for K-NN or
radius-NN search can vary from O(logN) to O(N), depending on the distribution
of points and K or r. However, it is nontrivial to determine whether the NN search
by k-d tree is complete, so we must return to the root every time.
26 2 Traditional Point Cloud Analysis
2.2.3 Octree
Octrees are a tree data structure wherein each node has eight children nodes as
shown in Fig. 2.13. It is most commonly used to partition 3D space into eight octants
recursively, which is analog of quadtree [17] for partitioning 2D space into four
quadrants. Octant is an element/node of the octree, and it is a cube. Octrees are
different from k-d trees in that k-d trees split along a dimension, while octrees split
around a point; k-d trees are binary, while octrees are not.
Octree Construction There are two kinds of octree: point region (PR) octrees
and matrix based (MX) octrees. The nodes of PR octrees store the center of the
region as a pseudo 3D point that further defines one of the corners of each of the
eight children. The nodes of MX octrees are implicitly the center of the space they
represent. A 2D example of a PR octree construction is shown in Fig. 2.14. We first
Fig. 2.13 Octree from [40]. Permitted by CC BY-SA 3.0 Unported License
determine the extent of the first octant s1 and then determine whether to further split
the octant by checking the leaf size, minimum extent and maximum iteration, and so
on. The minimum extent is to avoid infinite splitting when there are repeated points.
s1 is then split into s2 , s3 , s4 , and s5 . s2 and s3 have only one point, so they are leaf
nodes. s4 can be further divided into s6 and s7 , and the empty octant is discarded. s5
repeat the above procedures.
K-NN Search by Octree The K-NN search by octree uses a depth-first search
(DFS) [11] method. It searches from the root octant to the leaf octant that contains
the query point and then compares with all the points in the leaf and stores up to
K points. From this, the worst distance is updated, which forms a query ball. In
every iteration, the most relevant child is determined and searched first, followed by
other children. If the octant overlaps with the query ball, all points in the leaf are
compared to update the K points, worst distance, and query ball. If the query ball is
inside the octant, search ends.
An example of 2-NN search by octree is shown in Fig. 2.15. In this case, the
initial worst distance d is infinite. The search follows the following sequence:
• Starting from s1 to s2 , which contains the query point h, point a is stored and the
distance between h and a forms a query ball.
• Since the query ball intersects with s4 , we check the children of s4 . Point c is
stored and d = h − a.
• Since octants s3 and s5 do not intersect with the query ball, the search ends.
Radius-NN Search by Octree A simple method to conduct radius-NN search by
octree fixes the worst distance as the radius, while the rest procedures are the same as
the K-NN search by octree. A better approach is to check if the query ball contains
the octant. If the query ball contains the octant, the query can just be compared with
all points in the octant and there is no need to consider the children of that octant.
Octree Search Time Complexity The time complexity of 1-NN search by octree
is O(logN) for one query point. The search time complexity of K-NN or radius-
NN can vary from O(logN) to O(N), depending on the distribution of points and
K or r. Octrees are more efficient than k-d trees, because the search can be stopped
without returning to the root. By using depth-first search, the nodes to be traversed
and the required surfaces to be viewed can be identified.
Model fitting is a common technique for processing point cloud data. Large-scale
point cloud data usually contains a large portion of data points which can be
described by explicit mathematical equations, such as lines and planes. For example,
in the KITTI 3D object detection dataset, the LiDAR data captures not only the
objects of interest (cars, pedestrians, cyclist, etc.) but also other elements of the
environment, such as the ground. The ground is less valuable than the objects of
interest; however, in most scenarios, there are far more ground points than points
related to objects of interest. Removing the ground points therefore reduces the
computational cost. Since the ground can be considered as a plane with some noises,
it can be solved by model fitting.
The three standard approaches to model fitting are least squares [25], Hough
transform [14], and random sample consensus (RANSAC) [18]. Least squares work
well if the inliners are known. However, even a small number of outliers will
considerably affect the result. Robust least squares, Hough transform, and RANSAC
can handle outliers better. Hough Transform and RANSAC are extremely robust
when the number of outliers is close to or more than that of inliers or when the data
include multiple models.
unknowns. It minimizes the sum of the squares of the residuals in every equation.
Given a set of points p1 , p2 , · · · , pn , where pi ∈ R2 , to find a line
ax + by + c = 0 (2.9)
that fits the point set best, the sum of the squares of the residuals
n
E= (axi + byi + c)2 (2.10)
i=1
Here, we have m = 3
⎡ ⎤
x1 y1 1
⎢ .. .. .. ⎥ , x = [a, b, c]T ,
A=⎣. . .⎦
xn yn 1
Given A is full column rank, i.e., n ≥ 3, the solution is easily found by finding the
eigenvector of the smallest eigenvalues of A.
Besides, many model fitting problems can be formulated as LLSQ optimization
problems for Ax = b:
The main limitation of LLSQ, which restricts its application in point cloud
processing, is its sensitivity to outliers. Ordinary least squares estimation is optimal
only if no outliers exist in the data. As is shown in Fig. 2.16, a single outlier results
in poor line fitting using the ordinary least squares method. Typically, the weight
assigned to each observation is expected to be 1/n; however, the outliers exert a
far greater weight than they deserve. Therefore, outliers pull the fit too far in their
direction. In most cases, it is difficult to identify the problem, because the residuals
of the outliers are much smaller than they otherwise would be. Robust least squares
require less restrictive assumptions. It reduces the weights of outliers to increase
30 2 Traditional Point Cloud Analysis
(a) (b)
Fig. 2.16 Ordinary least squares are sensitive to outliers. (a) Only inliers. (b) One outlier added
their residuals. Therefore, the influence of outliers is decreased so that most data
can be fit well. It is also easier to identify outliers than in ordinary least squares.
Ordinary least squares minimize the sum of the squares of the residuals, i.e., the
L2 -norm of the residuals. This is also known as L2 -norm regression. An alternative
is robust least squares. For example, we can use the L1 loss function instead, which
minimizes the sum of the absolute of the residuals, i.e., the L1 -norm of the residuals.
Compared with L2 -norm regression, L1 -norm regression assigns a smaller weight
to the outliers, thereby reducing their influence. Typical loss functions include:
L1 . ρ = |s|,
L2 . ρ = s2,
Cauchy. ρ = log(1 + |s|),
(2.14)
s2, |s| < δ
Huber. ρ=
2δ(|s| − 12 δ), otherwise
etc.
Cauchy and Huber are robust loss functions, which reduce the effect of outliers;
however, the problem becomes nonlinear. An example of robust least squares is
shown in Fig. 2.17, which is much better than ordinary least squares in Fig. 2.16b.
A general formulation of LSQ is
are constant or depend only on the values of the independent variable; otherwise, it
is nonlinear. LLSQ is globally convex, so it can be solved analytically to achieve a
unique solution. In contrast, the analytical solution to NLLSQ problems requires
the use of partial derivatives to the Jacobians, which can be complicated. It is
common to use optimization methods like gradient descent, Gauss–Newton, and
Levenberg–Marquardt to solve NLLSQ problems iteratively. Furthermore, there
may be multiple minima in NLLSQ problems; non-convergence is a common
phenomenon in NLLSQ.
The Hough transform is a feature extraction technique that can be used to isolate
features of a particular shape within an image. The classical Hough transform is
most commonly used to detect lines, circles, or ellipses, which can be specified by
some parametric form. A generalized Hough transform extends to the detection of
features that cannot be expressed analytically. The Hough transform first maps the
data from the image space to the parameter space and then uses a voting method to
obtain the solution. The analytical equation for a straight line is
y = ax + b, (2.16)
32 2 Traditional Point Cloud Analysis
Fig. 2.18 Hough transform. (a) Image space. (b) Hough space
b = −xa + y (2.17)
in the parameter space. The mapping between image space and Hough space is
shown in Fig. 2.18.
In the model parameterization of line y = ax + b, a is infinity for vertical lines,
which is not uniform in the parameter space. A better model with parameters (θ, r)
is usually adopted instead:
Consider fitting a line to a set of discrete points in an image; the Hough transform
first generates a line in the parameter space for each data point. Ideally, these lines
will intersect to give a single solution, e.g., the red point in Fig. 2.18b. However,
they will not intersect if there is outlier. Therefore, the Hough transform uses voting
to solve the problem. The parameter space is discretized into bins, which are also
known as accumulator space, and the intersections of lines are viewed as votes.
Then, the local maximum, i.e., the bin with the most votes, is selected.
As an extension, the Hough transform can be used to detect circles
with parameters (a, b, r). Each point (x, y) is mapped to a parameter bin in the
(a, b, r) space. To find the bin, we first fix r = ri , and uniformly sample a set of
{θ1 , · · · , θk }. Each θj generates a set of {a, b}, where
a = x − ri cosθj ,
(2.20)
b = x − ri sinθj .
2.3 Model Fitting 33
z = ax + by + c, (2.21)
where a 3D Hough space can be constructed from parameters (a, b, c). However,
extending the Hough transform to plane detection suffers from the problem of
infinite a and b when the planes become vertical, because big values amplify the
noise in the data. For horizontal plane detection, it works quite well. To detect
cylindrical objects in point clouds, whereby the orientation of the cylinder is first
identified, followed by its position and radius.
When implementing Hough transform, a trade-off between speed and precision
is achieved through the selection of resolution and the application of smoothing at
the parameter space before searching for the highest vote to reduce the influence
of outliers. The advantage of the Hough transform is its robustness to noise and to
missing points of the shape. It can be extended to numerous models and usually
works well for models with less than 3 unknown parameters. However, it does not
scale well with complicated models.
p0 = (x0 , y0 ), p1 = (x1 , y1 );
y0 = ax0 + b,
y1 = ax1 + b;
nT (pi − p0 )
di = ,
n2
Fig. 2.19 Line fitting by RANSAC. Reproduced from [30, 31]. Permitted by CC BY-SA 3.0
License. (a) Data points. (b) First round line fitting. (c) Second round line fitting. (d) Final result
Repeat above steps for N iterations, the model with the most inlier points will be
chosen as final model. Examples of several iterations are shown in Fig. 2.19. The
blue points are inliers, the green points in Fig. 2.19b and c are randomly selected
samples in each iteration, and the red points in Fig. 2.19d are outliers. Notably, the
outliers have no influence on the result; hence, RANSAC can also be used as an
outlier detection method.
In RANSAC implementation, two parameters need to be considered: the distance
threshold τ and the number of iterations N. The distance threshold τ is usually
chosen empirically or by Chi-square (χ 2 ) distribution, which is the sum of the
squares of k independent standard normal distributions. Assume the error between
data points and the model has a Gaussian distribution d ∼ N(0, σ 2 ) and the point
is an inlier with 95% probability, then
Another Random Scribd Document
with Unrelated Content
akad el a sárban.
Négy almásszürke van a fedett üveges batárd elé fogva; olyanok,
mint a tüzes sárkány; a bakon a sallangos pántlikás kocsis mellett ül
az úrfi s maga hajtja a fogatot, benn a hintóban kik ülnek, nem
tudni, mert be van az csinálva nagyon.
Az úrfi kis kerek pörge kalapot visel, a nyakkendője csak úgy
könnyedén megkötve, zekéjét levetette magáról, s könnyű nyári
dolmányban ül kocsisa mellett, de orczái pirosak a szabad légtől, s a
hajtástól.
Biztos ügyességgel kanyarog a görbe utczán végig, olyanokat
cserdítve ostorával, mint egy pisztolylövés; a négy paripa, azt hinné
az ember, hogy elragadta a hintót, ha nem látná, hogy a hol dobogó
hid, vagy zökkenő következik, egyszerre meglassítja valamennyi a
lépést. Végre egy helyen félretérve a falu közepén elvonuló
országútról, neki vágtatott egy oldalt eső háznak, ott azonban
kénytelen volt megállani, mert a kapu be volt téve.
– Héj! hó! kiálta a kocsis, felállva a bakon, hogy az udvarra
belásson. Azt a kaput!
– Soha se rontsd a tüdődet Matyi, szól az úrfi, hanem eredj be a
kis ajtón s nyisd ki magad a kaput. Hanem vidd magaddal az ostort,
mert a kutyák lehúznak.
Matyi úgy tett s a mint belépett az ajtón, mindjárt nagy
hadakozás támadt közte és a szelindekek között, folyvást kénytelen
levén az ostorral közibök püfölni, a míg a kaput kinyitja.
A nagy zaj, lárma és ugatásra előjött végre a konyhából egy élte
virágában levő asszonyszemély: valamivel több, mint szakácsné és
valamivel kevesebb, mint háziasszony, s megállva a tornáczon, éles
rikácsoló hangon kiálta le onnan.
– Micsoda istentelen nagy lárma az már no? A török jön-e, vagy a
franczia?
E szók alatt kinyitá Matyi a kaput s az úrfi egyet csettentve a
lovaknak, behajtott az udvarra, s ott a tornácz elé érve, leugrott a
bakról s odavetve a kocsisnak a gyeplőt, maga oda járult a zúgolódó
némberhez, a ki a lehetőségig görbén iparkodott ránézni aszaltszilva
képével, azon törekedve, hogy mint tudná azt még rútabbá tenni? s
szemei, mint két vasvilla szegződtek a jövőkre.
– Ejnye, lelkem adta Boriska! szólt az úrfi dévaj hangon. De
megszépült, a mióta nem láttuk egymást. Azt gondoltam, hogy a
farsangon férjhez vitték. Korán volna még, ugy-e bár?
– No iszen maga meg ugyan csak megcsúfult Károly úrfi, a mióta
nem láttam; milyen szép kis gyerek volt akkor, s milyen nagy férfi
lett belőle.
– Itthon van-e az urambátyám?
– Hát ugyan hol volna?
– No mert ide szálltunk az anyámmal meg a testvéremmel.
– Hát azok is itt vannak? No én nem tudom, hogy érnek rá más
emberek elmenni a háztól, s hetekig odarőfölni.
– Híjja csak elő az urambátyámat Boriska lelkem és segítsen
egyetmást leszedni.
A házi szépség még egy mérges tekintettel keresztbe hosszába
mérve a hintót, bement ismét a konyhába, ott a sötét kályhalyukból
valami világosság látszott derengeni; Boriska bekiáltott a
kályhalyukba:
– No jőjjön ki hamar, vendégek jöttek.
A kályhalyukból ezen lakonicus válasz érkezett vissza:
– Várjanak!
Ezalatt Károly kinyitá a hintó ajtaját, s miután a tornáczig térdig
lehete járni a sarat, ölébe véve hordá ki a két bennülő hölgyet, kik
közül az egyik édes anyja volt, egy tisztességes, jó, szelid képű
negyvenes delnő, a másik leánytestvére, egy gonosz, fürge, eleven,
tizenkét éves kis pajkos tündér, csillogó parázs szemekkel, s
szüntelen mosolygó, fecsegésre álló szájjal.
– Hozta Isten, nem is vártuk; szólt Károly nevetve, a mint partra
szállítá őket, s megnyitá előttük az ajtót, melyet Boriska maga után
becsukott.
Összefüggés tekintetéből meg kell tudnunk, miszerint az érkező
asszonyság Hamvasi Erzsébet, testvérhuga a házi úrnak, Hamvasi
Ábrahámnak; a ház, melyben megszálltak, szüleik által osztatlanul
volt nekik hagyva, hanem az asszonyság az egésznek a használatát
oda engedte a bátyjának, csupán azt kivánva, hogy mikor azon talál
utazni, oda szállhasson.
A kettős konyhaajtó e közben kinyilt, s a felső részén kidugta
magát a már megnevezett házi úr, egy megtudhatatlan időkorú
férfiu, kinek nem volt elég, hogy a ragya megverte az ábrázatját,
hanem még ő maga is csúffá tette azzal, hogy a bajuszát az orra
alatt leborotválta, s csak két szájavégiben hagyta meg; minél fogva
úgy nézett ki, mint egy vidra.
Egy rossz, télen hideg, nyáron meleg kaput volt rajta, annak az
ujjai könyökig föltűrve, s mind a két keze tele csapófölddel, a mint
épen a kályhából kibújt, melyet saját maga tapasztott ki.
Arczvonásai épén nem törekedtek nyájasak lenni, a mint rokonait
meglátta, s bár az asszonyság nyájasan üdvözlé, még az ajtó alsó
felét sem igen látszott kinyitni. Végre mégis csak bebocsátá
vendégeit, a könyökével nyitva ki az ajtó kilincsét.
– Hát hol jártok ennyien?
Az asszonyság megcsóválá szelid fejét s testvére kormos, szurtos
állapotjára mutatva, megfeddé őt nyájas szavakkal:
– Ugyan, ugyan édes bátyám, hát magának kell az ilyen munkát
végezni?
– A munka nem szégyen; a mit magad megtehetsz, azt ne bizd
másra.
– Kezet csókolnék bátyám, ha lehúzná a keztyűjét; szólt közbe
kötekedve Károly úrfi.
– Könnyű ilyen nagy uraknak beszélni, mint ti vagytok. Kiki teszi,
a mi szegénységétől telik. Te Boris, hozz egy tál vizet, hadd mossam
meg a kezem, mert ezek az urak szégyenlenek velem szóba állni.
– Majd tálat piszkolok azzal! kiálta vissza a házi doromb, ott a
dézsa.
Ábris úr kiment és megmosdott a dézsában, megtörülközött
pedig az ágylepedőben, felhajtva az ágyterítőt.
Vendégei az alatt beléptek a szobába. Valami kellemetlen,
kiállhatatlan illat állta el annak egész levegőjét. Minden háznak
megvan a maga sajátságos illata, némely szobába belépve, oly
meghivó, oly kedves szag üti meg az ember érzékeit, melyről nem
tudni miben van, honnét jön? míg másutt oly aggasztó, oly
szorongatást gerjesztő bűz fogadja a látogatót, hogy háttal megy
vissza. Ez utóbbiak közé tartozott Ábris úr szobája; a falakon még ott
feketéllett, a mit tavalyi és harmadévi legyek fölirtak rájok, a padló
beszélni látszott a mult téli disznóölés viszontagságairól, az ágyak
alatt szalma és pehely, s a butorokon ujjnyi vastagságu por, az
ablakon pedig épen nem lehete kilátni, hanem pókháló volt elég
minden szegletben.
A belépő asszonyság nagyot sóhajtott, a szobában széttekintve;
meglátszott arczán, hogy boldogult édes anyjára gondol e perczben,
míg az élt, ezek a szobák nem voltak ilyen piszkosak, rendetlenek,
nem verte ki az ember szemét a légy, nem lepte be a bútorokat a
por.
Ábris bácsi az alatt megmosdott, megtörülközött, oly ábrázattal,
melyen látni lehetett, hogy rá nézve a mosdás egy neme a
penitencziának, azután bejött, nagy hidegen megcsókolt minden
embert, mosolygani is kezdett egy kicsinyt, hanem az nem sikerült
neki, hát abba hagyta.
A vendégek örömest lerakták volna felöltönyeiket, de hová?
Tisztességes ruhával bajos volt valamihez hozzá érni.
– De szeretnék én valahová leülni Ábris bácsi, szólalt meg
legelébb Lizike ártatlan kérezkedéssel tekintve szét.
– Hát leánykám, itt a sok szék, meg a pamlag, kinálá Ábris úr.
– Hát szabad ezekről ezt a sok szép port leverni? kérdé Lizike
hamis együgyűséggel, én azt gondoltam, hogy szárítani van ide
terítve.
– Hallgatsz te gonosz! csitítá az édes anyja, míg Ábris úr
megzavarhatlan kegyes orczával monda:
– Porból lettünk, porrá lészünk, azért a port ne utáljuk. S hogy
arany mondatát cselekedettel is erősítse, fogá a kaputja szárnyát s
három széket a három vendég számára letörölt vele, a negyedikre
leült maga.
Az asszonyság leült tehát az egyik székre, Ábrahám úr a másik
székre, az egyik nem szólt, a másik hallgatott, s ez így tartott
mintegy fél óráig; ez a legkönnyebb neme a mulatságnak. Csak néha
sóhajtott hol az egyik, hol a másik egy nagyot.
– Hja – ja…
Mire a másik egy óranegyed mulva visszafelelt:
– Haj – haj…
Károly ezalatt kiment a lovakat megnézni, s ismét bejött, Erzsike
pedig az ablaknak állva, rálehelt és betűket irt rá az ujjával.
Hogy az elébb Lizikének neveztük a kis furfangos egyéniséget, az
mit sem tesz. Egy névtől származik mind a kettő, s alig van a magyar
nyelvben elnevezés, melynek variatióiban a legnagyobb
gyöngédségtől a legnagyobb gorombaságig annyi volna benfoglalva,
mint ebben, ugyanazon névből származván a behizelgő Liza, a vidám
Erzsike, a kokett Betti, a tenyerestalpas Erzsu és a kormos Böske,
hát még? «Én magyar leány vagyok, a nevem Babett».
Hogy Ábraham úr valakitől azt kérdezte volna: kell-e valami? azt
ugyan nem cselekedte; csak ült és sóhajtozott.
Hanem nemsokára benyit a kocsis, Matyi, egy hamis alföldi
csikósból verbuvált ficzkó, vakmerő, szájas, furfangos.
– Nagy uram, hol árulnak itten szénát? szól beköszöntve, a
háziúrhoz.
– Szénát, szénát? hát kinek az a széna?
– Nem nekem, hanem a lovamnak. Nem is az én lovamnak,
hanem annak a négy lónak, a min jöttünk.
– Hát – hiszen, majd adok én; szólt egyenkint szűrve a szót Ábris
úr, s fogta a pajta kulcsát s kiment.
Az ajtón kívül lehete jól hallani Boris dörmögését.
– A tatár látta! négy lóval járni, csak azért, hogy több széna
fogyjon, mintha nem elbirná őket kettő.
Ábrahám úr adott szénát Matyinak, lelkére kötve, hogy el ne
hullassa, mert drága. Azzal visszajött, leült és hallgatott tovább.
Matyi újra benyit.
– Nagy uram, hol van itt egy kocsma?
– Kocsma? Minek az a kocsma?
– Szeretnék egy pohár bort venni, nem a lovamnak, hanem
magamnak.
– No – várj – majd mindjárt adok én.
S fogta a pinczekulcsot és ment. Matyinak meg kellett állani a
pinczegádorban.
Boriska dúlt fúlt; csapkodott, csörtetett, veszekedett odakinn
egymagában.
Alig jött vissza az öreg úr s alig kezdett a hallgatáshoz, Matyi újra
megint belép.
– Nagy uram, a Boriska azt kérdezteti, hogy mit főzzön
vacsorára?
– Szoktatok ti vacsorálni? kérdé Ábris úr vendégeihez fordulva.
– Szoktunk bizony, sietett felelni Károly, mielőtt szerény anyja
ellenkezőt mondhatna.
Ábris úr nagyot sóhajtott, felkelt és kiment a konyhába, s ott
elkezde szép halkan beszélgetni Boriskával, ki ellenben iparkodott oly
fenhangon beszélni, hogy odabenn is meghallhassák.
«– Mit? azt a szép kappant? – Nem ezért a világért! – Én? most
tüzet rakni? Hasogatott fám sincs. – Hát van sajt. – Én bizony most
nem gyúrok tésztát, mert a kezem fáj. – De azt a fazék lekvárt
bizony meg nem kezdem. – Én hozzá sem nyúlok. – Én nem vagyok
szakácsnéja. Mért nem tart szakácsot, ha vendégfogadós akar
lenni.»
Ezt odabenn mind szépen lehetett hallani.
Ábris úr azonban most az egyszer mégis igazságos haragra
gerjedt, s kimenvén az udvarra, lesodrófázott egy czimeres kakast,
vérit vette maga, tüzet rakott, s elkezdte a szárnyas állatot
koppasztani, míg Boriska látva, hogy ennek csakugyan meg kell
lenni, ki nem kapta a kezéből s be nem kergette a konyhából.
Két óra mulva készen volt a nagy vacsora. A derék becsületes
kakas olyan kozmás volt, a milyen csak lehetett, s a húsánál csak a
csontja volt keményebb. A czupákos kenyér a késhez ragadt, ha
vágták, s a szájpadláshoz, ha rágták, s minden étel meg volt sózva,
paprikázva úgy, hogy szikrát hányt a szeme, a ki belekóstólt.
A vendéghölgy étlen ült az asztalnál, s még nagyobbakat
sóhajtott, látva a nagy penészrozsdákat boldogult édes anyja
abroszaiban, az ismerős késeket, villákat szarvascsont nyeleikből
kiszedve, s az ősi tálakat, tányérokat csorbán, repedezve. Mire jut a
férfi, ha feleség nincs a háznál!
Átesve a vacsorán, végre is meg mert szólalni Ábris úr,
megkérdezvén hugától, hogy hova utaznak?
Az megvallá, kegyesen felfohászkodva, hogy **-re, Berkessy
Gábor úr látogatására.
– Mit! ahoz a rossz emberhez? kiálta fel Ábris úr, nem egészen
menten a megivott kerti bor befolyásától.
– Hát miért légyen ő rossz ember? kérdé Károly féltréfásan,
félérzékenyen.
– Mert mikor én debreczeni diák voltam, ő meg jurátus diák,
feladott, a miért kocsmába látott menni. Huszonnégy órai carcerre
büntettek érte. Soha sem felejtem el neki.
Annak pedig már lehetett jó harmincz esztendeje.
– S hát mért mentek oda? kérdé Ábris úr.
Az asszonyság nem felelt semmit, melyen kapva Lizike, felvevé a
szót s nagy emberi méltósággal elmondá:
– Leánynézőbe megyünk, Berkessy úrnak van egy leánykája, a ki
épen a bátyámhoz illik.
– Üm. Szólt az öreg úr, kedvetlenül tekintve félvállról Károlyra.
Gyerek vagy te még megházasodni.
– Épen azért házasítjuk meg, folytatá komolyan a beszédet Lizike,
ő jó fiu, hanem egy kicsinyt szeleburdi; majd ha felesége lesz,
megjön az esze. Aztán sokkal jobb fiatal korában megházasodni
neki, mint hogy megvénüljön, s akkor valami rossz satrafa keze közé
kerüljön.
A kis leány oly sajátságos komolysággal mondá el e szavakat,
hogy Károly csak alig birta nevetését visszatartani, édes anyja
fejcsóválva tekinte rá, Ábris úr pedig csak tátogott, mintha fogát
köszörülné a kis sárkány ellen.
– Hm. Beszélni tudsz, azt látom, szólt félretéve haragját. Hát
kenyeret sütni tudsz-e?
– Azt csak tudnék, hanem még szalonnát nem tudok mellé sütni.
(Szalonnának nevezik azt a ragacsos részit a rosszul sült
kenyérnek, a mi az alsó héja körül van. Ilyen szalonna bőven látható
volt az asztalra rakott kenyéren.)
Ábris úr látta, hogy csatát veszt, s székét megmozdítva, jelt adott
a társaságnak a felkelésre, mely a szükséges asztal utáni üdvözletek
mellett megtörténve, az utasok hálószobáik után tudakozódtak, hova
őket Ábris úr maga vezette el, egy darabka gyertyát adva velök,
mely eltarthatott addig, a míg lefeküsznek.
Szoba volt a házban elég, de szomorú volt azokat látni. Bab,
kukoricza, hagymafüzérek minden szegletben; az ágyak azon
módon, a hogy a legközelebbi látogatás alkalmával voltak felvetve,
egyik szobában az úrfi, másikban anyja és testvére számára.
Ábris úr nem sokat czeremoniázott velök, félvén, hogy elég a
gyertya, hanem ott hagyta őket és jójczakát kivánt nekik.
Károly mindjárt le is feküdt a belső szobában, a hölgyek a
külsőben maradtak.
– Huh! be hideg ez az ágy, szólt Erzsike megtapintva a jéghideg
párnákat, itt megfagyunk, édes anyám.
Azzal bezörgetett Károlyhoz.
– Alszol már?
– Mi kell Lizike?
– Mi félünk ebben a szobában.
– Hát nyisd ki az ajtót, Erzsike.
– Az ablakon nincs függöny, belátnak, nem fekhetünk le.
– Hát oltsd el a gyertyát.
– Ejnye de házsártos vagy. Az ajtót nem lehet jól bezárnunk.
– No várj Böske, majd hát én fölkelek, s én alszom ott, ti jőjjetek
anyámmal ide.
Azzal fölkelt, felöltözött, kijött, a hölgyeket beereszté a másik
szobába, újra levetkőzött s lefeküdt a másik ágyba, mely hideg volt,
hogy a fogai is vaczogtak bele.
– Valld meg Erzsu, szólt dideregve, miért fektettél ebbe a hideg
ágyba, s miért csaltál ki amonnan?
– Mert már ezt megmelegítetted.
Boldog tréfái a gyermeteg testvéri enyelgésnek! Még a szelid
hallgatag asszonyság is jót nevetett rajta.
Még a párnák alatt is hideg volt azonban. Az ilyen szobákban
télen beveszi magát a hideg, s nyáron át is benn marad, az ember a
mint kidugja egy ujját a dunna alól, felébred a nagy hidegségtől, s
alig pitymallik az idő, elkezd egy indiscrét kakas épen az ablak alatt
kukurikolni.
– Hallod, Károly, hogy szól annak a kakasnak lelke, a kit tegnap
megettünk, kérdi a felébredő Erzsike.
Szó sincs róla, hogy tovább aludni lehessen. Minden ember
iparkodott mentül elébb magára szedni öltönyeit, hogy meg ne
fagyjon, s úgy érzi minden tagját, mintha meg volna verve.
Mert még az ágyvetésnek is mestersége van. Némely ágy olyan,
hogy a mint lefeküdt benne az ember, mindjárt elalszik. A napra
kirakott vánkosokon még érzik az a verőfényes melegség, a mit
magukba vettek, a vánkosok közt oly jól meg lehet fészkelni,
derekaljak, párnák oly ügyesen vannak alárendelve, az ember
minden tagját otthon érzi, s a hová fordul, ott ébred fel; míg más
ágyban ismét nem győz forogni, sehol sem találja helyét, majd fázik,
majd izzad, ha el akar aludni felijed és felrugja magát, a szú rág, fúr,
őröl a deszkák között, a nyoszolya ripeg, ropog, nyiszorog, ha az
ember elalszik, örökké zsiványokkal álmodik, s mikor felébredt, nem
birja megfordítani a nyakát. És erről a nevezetes tudományról még
nem irtak könyvet!
Még egy bajon kellett általesni, ez a reggelizés volt. A vendégek
ugyan szerették volna, ha elmarad tőlük e keserű pohár (illetőleg
keserű csésze), de Ábris úr komolyan állítá, hogy már ő megtette a
költségeket, kávét pörköltetett, tejet forraltatott, annak nem szabad
kárba veszni.
A kávé egy kicsit kozmás volt, a tej egy kicsit összefutott, a
zsemle egy kicsit hetes volt, hanem azért jó volt minden. Kiki
palástul veté neki a gyomrát, s elkészülvén vele, előjáratták a hintót,
melynek bakján Matyi ült éhomra.
A vendégeket felsegíté ülni Ábrahám úr; most már igazán tudott
mosolyogni. Mennek már! gondolá magában, semmi sem kell nekik
több.
Cselédek is jöttek immár elő: Boriska, új kendővel a fején, egy
hamúpepejke buglyos fejjel, kormos szájjal; mindenik hozott valami
köpenyeget a vendégek után, iparkodtak mosolyogni, kaptak egy-
egy huszast az ifju úrtól; Ábris úr megcsókolgatott mindenkit, levette
a sipkáját, szerencsés jó útat kivánt, s a mint Károly felugrott a
bakra, s kivevé a kocsis kezéből a gyeplőt, már azt hivé, hogy átesett
minden veszélyen, – midőn Matyi lekiált:
– Nini, nagy uram! Elfelejtettem meginni azt a pohár pálinkát, a
mit nagy uram akart adni ma reggel.
Ábris úr még egyszer elsavanyodott s bemenvén a szobába,
visszatért egy gyűszűnyi nagyságú pohárral, melybe valami volt
töltve.
– Mind az enyim ez? kérdé Matyi, attól tartok, hogy leiszom
magam, s feldöntöm a hintót. Isten megáldja nagy uram, Isten
megáldja Boriska, magát is Pannika. Egy hét mulva megint
visszajövünk, akkor itt maradunk egy hétig. – Gyi te Ráró!
Jó is volt, hogy már a lovak közé vágott, mert az egész
társaságnál oly kitörőben állt a nevetés, hogy azt csak a támadó
kocsizörgés birta elnémítani; a négy tüzes paripa neki rugaszkodott,
utána a négy szelindek, dühös csaholással kisérve a távozó hintót az
utczán végig, Ábris úr a két cseléddel kidugta a fejét az utczaajtón, s
csak akkor mertek visszatérni, midőn látták, hogy a hintó valósággal
eltünt már szem elől.
Boris egész nap nem szünt meg aztán dúlni fúlni a konyhában.
– Azért vannak az embernek az atyjafiai, hogy mindenéből
kipusztítsák. – Az ember magától megkuporgatja s másoknak a
torkába tömi. – Olyanok, mint a sáskák. – Mi nem megyünk soha
senki nyakára. – Három hétig nem esznek annyit a teheneink, mint a
mennyit ez az ördög kocsis egy éjjel megetet a lovaival. Hát ez a kis
fityfirity leány? Milyen finnyás a lelkem, még golyóbisokat csinál a
kenyérből s azzal hajigál. – Majd megenné még. – Az a nagy menykő
hintó hogy felvágta az udvart a kerekeivel. – Három napig győzöm
takarítani a szobákat. De iszen elszököm én innen, ha még egyszer
ide jönnek.
II.
Az eddigiekből annyit már tudunk, hogy van egy bizonyos
tekintetes Berkessy Gábor úr, annak ismét van egy férjhez adó
leánya, a kit megkérni az ország két különböző oldaláról, két
házasulandó ifju ember siet, illető családjaik kiséretében, a mint illik.
Még egy kevéssé engedelmet kérünk tisztelt olvasóinktól egy
harmadik helyre is betekinteni, azután mindjárt mi is oda megyünk.
**megye székvárosában lakott egy fiatal özvegy asszonyság,
Csalváry Julia, kit a szószapuló közvélemény világleányának nevezett
el. Az ilyen elnevezéshez nem kellenek nagy érdemek. Julia
ifjasszony korában élemedett férje által igen szigorúan tartatott, az
öreg úr egyenlő mértékben levén fösvény, szerelemféltő és ostoba;
halála után annál gyorsabban törtek gátot az elfojtott szenvedélyek
A szép és meglehetős birtokú özvegy imádóktól lőn környezve,
azokat nem is igen nagy gonddal iparkodott magától elutasítani;
estélyeket adott, szabadon társalgott, bálokban feltünő öltözetet
viselt, lovagolt; a mi mind elég arra, hogy a kis városban beszéljenek
róla. Egy öreg úr, valami nagybátyjaféle, hajdan fizetéses assessor,
lakott állandóul nála, mint gyámja, titkárja, vagy mije? Ez az egész
városba hordta szüntelen a pletykát, akármi történt, még a mi nem
történt is a háznál, azt abban az órában tudták a nemesi és polgári
casinóban? még azt is, hogy Julia egyszernél többször fel nem húzza
ugyanazon selyem harisnyát és hogy minden esztendőben egyszer
beoltatja magát tehénhimlővel, attól tartva, hogy meghimlőzik. Holmi
apróbb eseményeket, imádók cserélését, szerelmi perpatvart,
összezördüléseket és házi jeleneteket mindennap friss sütésben
lehete kapni a jó öreg Nánásy bácsinál (így hívta az assessor urat az
egész város), a kinek e miatt szüntelen majd egygyel, majd mással
gyűlt meg a baja: egyszer hírbekevert imádók akarták párbajra hívni,
másszor elutasított gavallérok fenyegették ütlegekkel, gyakran nem
mert kimenni az utczára, mert attól félt, hogy rálesnek, otthon pedig
Julia érezteté vele mindennemű szeszélyeit; hanem mind ez a jó
öreg úron nem változtatott, azért ő pletykázott, a kire lehetett,
eltagadott, a mit lehetett és viselt minden következményt
türelmesen.
Juliát minduntalan sürgették rokonai, hogy menjen férjhez és
hagyjon fel ezzel az élettel, válaszszon valakit imádói közül s a többit
kergesse magától; de mikor Julia oly szeszélyes volt, hogy ha igazán
szeretett is valakit, mihelyt rokonai férjül ajánlani találták, képes volt
kiszeretni belőle s soha se látni többé. Ilyen formán a férjhezmenés
esztendőről esztendőre haladt, új meg új változatokon ment
keresztül, híre örökké volt, de soha sem történt meg, majd az
elhiresztelt jegyes hagyta el a menyasszonyt, majd ez őtet, néha egy
hajszálon mult el az egész, legtöbbször pedig maga az érdekelt fél
nem tudott róla semmit.
Történetünk időfolyamában egy reggelen Nánásy bácsi bejárván
a konyhát s megtudva, hogy mit főznek? értekezve a
társalkodónéval, megtudva, hogy Julia milyen kedvében van? belépe
öltöző szobájába, elmondandó, hogy mit beszélnek a kávéházakban?
Julia épen toilettjét csinálta, a szobaleány akkor gyűrűzé fodrozó
vasára hosszú szőke hajfürteit; a delnő hanyagul eldűlve ült bársony
karszékében, nagy pálmalevelű cashmir pongyolája hosszú
selyembojtjából szélmalmot csinálva unalmában.
– Jó reggelt, jó reggelt, kedves szép hugocskám; selypíté
kedvesen Nánásy bácsi s galopp lépésben oda sasirozva Juliához,
megfogá kezét s a csuklón kezdve a körme hegyéig végig csókolva,
minden pontnál felkiáltott: oh mi kedves kezecske, oh mily élvezet
lehet ezektől pofocskákat kapni. Jaj be szép ma az én Zsulim!
Ezekkel a hosszú hajfürtökkel, bizonyosan ismét el akarja valakinek
forgatni a fejét, ezekkel az à l’anglais fürtökkel. Oh maga kegyetlen
Penelope! Ma reggel ismét egy párbaj esett miatta. A szép Lujzi, az a
csinos barna egyet kapott a homlokára. Boldognak érezheti magát,
he, he, he! Ezt a szalagot, kérem, nekem kell ide tűznöm a
hajtekercsre, így ni. Hát nem legjobban értek-e hozzá? Nem lett
volna-e jó szobaleány belőlem? He, he, he.
Julia csak nem akart nevetni mind e bohóságokon s komolyan
fordult nőcselédjéhez:
– Betty! hozza el a czipőmet.
– Nem, meg nem engedem, hogy más hozza el, mint én! kiálta
Nánásy bácsi, visszatartva Bettit s törte magát a czipőkért s rájuk
találva, összecsókolá azokat, még a talpaikat is, úgy tevé le Julia
előtt, ki himzett papucskáit lerugva, könnyeden voná fel a finom
fekete atlasz czipőcskéket, oly kevéssé törődve Nánásy bácsi
jelenlétével, mintha csak valami nőcselédje volna ott. Azzal felállt, a
tükör előtt körülnézte magát, mintha mondaná: hát nem vagyok-e
szép?
– Oh felséges, oh mennyei! kiálta megdicsőült arczczal Nánásy
bácsi s gyönyörködésében majd elejté az állát s könnyebb volt a
lelkének, hogy azon helyre leülhetett, melyről Julia felkelt.
– Nánásy bácsi; szólt Julia, magát háttal nézve meg a tükörben;
én magát egy igen komoly dologgal akarom megbízni, melyet addig
nem lesz szabad elpletykáznia, a míg véghez nem ment.
– Hát nem vagyok-e én a legtitoktartóbb titkár a világon?
Julia haragos akart lenni.
– Én nem tréfálok bácsi. Hanem azt mondom, hogy ha elébb
kihireszteli a dolgot, míg megtörtént, hát megtépem.
– Nánásy bácsi örülni fog e kegynek; motyogá az öreg úr,
tréfásan levéve parókáját s oda tartva huga elé fejét, mely oly sima
volt, mint egy görögdinnye.
A szobalány kegyetlenül elröhögte magát e tréfára, melyre Julia
összevont szemölddel inte neki, hogy menjen ki a szobából.
Nánásy bácsi minden módot elkövetett, hogy hugocskáját
megnevettesse, ferdére tolta a parókáját, csikorogva nyitá ki
burnótszelenczéjét, pukkerlikat vágott a renaissance korából: –
semmi sem sikerült; Julia ma nem akart nevetni.
A mint magukra maradtak, becsukta az ajtaját, leültette az öreg
urat a balzacra s maga eléje állt.
– Hallja Nánásy bácsi. Én férjhez fogok menni.
A megszólított csupa meglepetés és kiváncsiság lőn.
– Magának el kell menni még ma **re, az alispánt felkeresni s
dispensatiót kérni számomra. Onnan vissza se jőjjön, hanem
egyenesen menjen fel Pestre s mindent, a mi a menyegzőhöz
szükséges, – maga jobban tudja, mint én, – rendeljen meg,
legfölebb mához egy hétre; mert akkorra túl akarok rajta esni.
– Számíthat rám, angyalom. Három nap alatt vagy minden itt
lesz, vagy azt hallja, hogy Nánásy bácsi meghalt.
– Iparkodjék számomra Pesten a lehető legrövidebb idő alatt
menyasszonyruhát is készíttetni.
– Csak bízza reám, angyalom. Magam felkeresem a leghíresebb
tűművészeket, a kik a legelőkelőbb dámáknak és szinésznőknek
dolgoznak: Keresztesyt, vagy Sóvárit s ha egy hét alatt el nem
hozom a legpompásabb menyasszonyöltözetet, currentáltasson az
ujságban, mint egy elveszett ölebecskét, a kiért öt forintot kap a
becsületes kézhezszolgáltató.
– Egyúttal irjon levelet rokonaimnak s hívja meg őket mához egy
hétre tartandó menyegzőmre, hanem erre majd Pesten is ráér. Csak
most rögtön üljön kocsira és menjen.
– Igen, galambom, hugocskám. De hát mit irjak rokonainknak,
mit?
– Hát miről beszélünk? Azt, hogy férjhez megyek.
– Igen, de kihez?
– Hát azt is szükség tudni?
– Hahhahha! Hisz az a fácit a dologban!
– Furcsa; – hát irja meg, hogy Sós Kálmánhoz.
– Sós Kálmán? Sós Kálmán? Hallottam már egyszer a nevét.
Hogyan irják? két ó-val, vagy két ss-el?
– Irja, a hánynyal akarja.
– Kicsoda, micsoda e derék ifju ember?
Julia komoly áhitattal felelt rá: «költő».
– Hát még?
Julia fél haraggal, fél bámulattal tekinte az öregre, mintha
mondaná, milyen együgyűek a vén emberek s azzal daczos
vállvonással monda:
– Úgy hiszem, hogy a sors eléggé bőkezű volt akkor, midőn
valakinek gazdag szellemet adott, a helyett, hogy gazdag hivatalt
adott volna.
Nánásy ezt nem értette, tehát megnyugodott benne, magában
ilyenformán töltve ki ezt a rubrikát: valami éhenkórász, tánczmester,
vagy komédiás, vagy más efféle lehet a gyönyörű madár, a kit Julia
férjeül választ azért, hogy annál könnyebben uralkodhassék fölötte.
Julia hagyta elmélkedni az öreg urat s elkészíté saját kezével az
útravaló szükségleteket, elrakva mindent a kocsiládába; külön
chatoulleba a borotválkozó eszközt; felirta egy tárczába a miket nem
volt szabad elfeledni, beletett egy csomó meg nem számlált
bankjegyet s átadva azt Nánásy bácsinak, maga ráadott öreg
kaputot és bundát, fejébe húzta az utazó süveget s lélekzeni sem
hagyta addig, a míg fel nem ülteté az előjáratott hintóba, nehogy
ideje legyen elbeszélni valakinek a friss titkot.
Nánásy bácsi azonban, a míg a városon végig ment, két-három
úri ismerősével találkozott s nehogy kifúrja oldalát a titok, a kocsiból
kihajolva elmondá nekik röptében, hogy hugocskája házasodik,
elvesz valami fiatal ismeretlen embert, most küldi őt a
dispenzáczióért az alispánhoz és Pestre ruhákat és tortákat rendelni.
– Ilyenformán aztán egy óra múlva az egész városban mindenki a
titkos menyegzőről beszélt s találgatták, hogy ki lesz a szerencsés
vőlegény? mert annak a nevét Nánásy bácsi elhallgatta –
takarékosságból, hogy mikor visszajön, akkorra is maradjon
kiharangozni valója.
Julia azon nyugodt tudattal, miszerint ügyeit jól rendezé, tért
vissza termeibe, parancsot adva cselédeinek, hogy Kálmánon kívül
senkit be ne ereszszenek hozzá.
Nemsokára léptek hangzottak a folyosón; Julia a legérdekesebb
kedélyt iparkodott arczán visszatükröztetni, megismerve a lépések
hangját, mert szerelmes emberek még a csizmasark kopogásai közül
is megismerik a választottjukéit.
E tekintetben a szerelmes emberekénél csak a lapszerkesztők
ösztöne finomabb, a kik a kapu alatt kopogó lépésekből megtudják
itélni: vajjon a posta jön-e előfizetőkkel, vagy pedig valami poéta
versekkel?
Juliánál megfordítva állt a magnetismus. Ő a költőre várt, nem a
postára, és nem csalódott. Sós Kálmán úr nyitá be az ajtót.
Érdekes halavány ifju volt. Nem az volt rajta az érdekes, hogy
halavány volt, hanem az, hogy oly arczczal lépett be az ajtón, mint
Hamlet a koponyával s patheticus léptekkel Julia elé járulva, ajkaihoz
emelé a delnő kezét s ott tartá hosszan, még tán most is ott tartaná,
ha Julia bele nem szólt volna, karjaiba fogózva.
– Önnek valami baja van Kálmán, hogy oly szomorú.
– Szomorú vagyok ugy-e bár? mond a költő; mint Leviathán, ki
vigadó angyal társai között járt s már homlokára volt irva, hogy le
fog az égből vettetni.
– Az Istenért! szólt megijedve Julia, mi baj fenyegeti önt?
– Semmi, semmi; szólt nyugalommal Kálmán; de oly
arczkifejezéssel, melyből iszonyúakat lehete gyanítani s nagy
szinpadi elernyedéssel egy karszékbe bocsátkozék.
– De igen, igen, önnek valami baja van! kiálta a delnő komolyan
megrettenve; én kivánom, én követelem, hogy azt nekem
megmondja.
A költő ismét a-tempo fölemelkedék s megfogva Julia kezét,
mélyen tekinte annak szemeibe.
– Hisz-e ön a sejtelmekben? kérdé kisértetes hangon.
– Minek az?
– Nem ismeretes-e ön előtt azon érzés, mely valami az álomból
az ébrenlétben? midőn legvígabbak vagyunk, egyszerre, mintha
valami hideg kéz simulna végig arczunk felett, hogy ajkainkon a
megkezdett kaczaj elfagy s mintha egyszerre egy bűvtükröt látnánk
magunk előtt, melyből tulajdon arczunk néz reánk, halaványan,
sötéten, mintha mondaná: ne örülj!
– Ugyan hagyja el; szakítá félbe Julia, kire izgatóan hatott a
poezisnak ez a neme; nem jó ilyenekről beszélni. Szóljunk inkább
menyegzőnkről. Kapott ön már levelet rokonaitól?
Sós Kálmán lord Byron képet csinált s szemeit felforgatva monda:
– Ön boldog, oh Julia, oh ön még gyermek és tud mindennek
örülni.
– Ugyan hallgasson! hisz idősebb vagyok magánál jó öt
esztendővel, ha nem többel.
– Ah Julia, az időt nem az évek teszik. Ön gyermek huszonnyolcz
évvel, én megaggott férfi huszonnégygyel. Nem az a legvénebb, a ki
legtávolabb van a bölcsőtől, hanem az, a ki legközelebb van a sírhoz,
nem a napok száma hozza meg az arczok redőit, hanem a napok
terhe. Én szenvedtem annyit, a mennyi egy ötven éves életre elég.
– Szegény Kálmán! sóhajta Julia, a költő vállára simulva s elég
gyöngéd volt meg nem kérdezni tőle, hogy mi az ördögöt szenvedett
már annyit? Egyébiránt erre azt felelte volna Kálmán, hogy azt nem
jó meghallani emberi füleknek.
– Lássa ön. Folytatá Kálmán, e pillanatban, midőn önnek mennyei
arczát látom, midőn szívemnek lángolni kellene azon gondolatra,
hogy önt birni, önt örökre enyimnek nevezhetni fogom, valami
jéghideg sóhajtás azt látszik súgni lelkembe: ne örülj, minden
bizonytalan a nap alatt.
– De már ez bizonyos, mert már a dispensatióért is elküldtem s
egy hét múlva rokonaink itt lesznek s menyegzőnket megtartjuk.
– Hah! egy hét múlva? Tudja-e ön, hogy akkor augusztus
tizenharmadika van?
– Biz én nem néztem a kalendáriomot.
– Ah Julia. Az én sorsomra iszonyú befolyást gyakorol a
tizenhármas szám. Minden baleset a hónapok tizenharmadikán
történt velem.
– No hát megtartjuk előtte való nap.
– Ön oly biztosan beszél, mintha a sors kezét kezében tartaná.
– Hát ha én akarom és ön is akarja, akkor csak úgy gondolom,
hogy mint bizonyosról beszélhetünk.
Kálmán e szóra felemelé tekintetét s mutatóujját feltartá, a
magasba intve, úgy hogy Julia azt kezdé hinni, hogy valami pókhálót
fedezett fel, mely a plafondrul csügg le s azt mutatja neki.
– Felettünk él a sors és a sors szeszélyes. Összetört szivek,
széttépett remények a legédesebb áldozatok, mikben gyönyörködik.
Oh Julia, ön boldog, ha nem jutott szívébe azon delejes érzelemből,
mely a holnap sejtelmével tölti el a gondolatot; ha keble világában
nincsenek meg azon bűvös húrok, miken a jövendőkbe látás szilaj
keze játszik; különben önnek az arcza is eltanulná arczomtól a
haloványságot.
Julia már únni kezdé ezt a sok visiót, magnetismust s más efféle
aranyeres sejtelmeket, s hogy más irányt adjon a mulatságnak, leült
zongorájához s elkezdett rajta egy csinos fantaisiet játszani.
Kálmán oda könyökölt a szék karjára, melyen Julia ült, sötét
arczczal a jövendőkbe látszott nézni, haját felborzolta, szemei
villogtak, majd ismét karjait összefonta s fejét a tenyerébe bocsátá,
végre nem birta tovább érzelmei súlyát, öklével homlokára csapott s
a legnagyobb exaltatióval kiálta fel:
– Ah, egy ily pillanat! e dalt hallani, – tégedet ölelni – s kéz
kézben, szív szívben meghalni együtt, – egymásba lehelni lelkeinket!
Óhajtasz-e együtt meghalni velem oh Julia?
– Majd, ha jó öregek leszünk, biz az szép lesz; de még egy
kicsinyt hagyj bennünket élni.
Kálmán szánalmas arczczal tekinte Juliára, fájdalommal érezve,
mily mélyen kell a nő lelkének az övén alúl állani, midőn azt sem
birja felfogni, mi irtóztató gyönyör van abban: meghalni együtt?
mikor semmi bajunk sincsen. – Ritka ember képes ezt felfogni.
Ezentúl Kálmán egy szót sem szólt többet, végig járt nehányszor
a teremben, mint egy vándorló lélek, a kinek egyéb passiója nincs,
mint az élő embereket ijesztgetni, azzal felkapta a kalapját s egy
öngyilkos elhatározottságával odalépve Julia elé, szívrázó hangon
mondá:
– Isten veled! Adja az ég, hogy sejtelmeim ne valósuljanak.
Azzal kiszakítá magát jegyese karjaiból, az ajtót is majd
kiszakította sarkából s dúlt arczczal eltávozott.
Szegény Julia egészen kétségbe volt esve, minden rossztól
kezdett félni, utána küldé az inasát, hogy nézze meg, nem tett-e
valami kárt magában? s addig meg nem nyugodott, míg az inas hírül
nem hozá, hogy a tens úr a casinóban rostélyost eszik zöld
foghagymával, a miből inas észszel azt lehete következtetni, hogy
ma aligha akar hölgyekkel szóba állani.
Ebben félig-meddig megnyugodva, délután tömérdek látogatással
volt elfoglalva Julia s megütközéssel tapasztalá, hogy a kik két-
három esztendő óta nem lépték át a küszöbét, mindenféle emberek
jönnek hozzá s czélzásokkal, tanácsokkal iparkodnak kutatni,
fürkészni azt a titkot, a mit ő már öt mérföldnyi távolságra hitt a
várostól s egyik csudálkozásból a másikba esett, tapasztalva, hogy
már az egész város tudja, miszerint ő egy hét múlva menyegzőjét
üli.
Végre kénytelennek érzé magát hermetice elzárkózni mindenféle
látogatás elől s iróasztalához ülve, elkezde egy szép, érzelemteljes
levelet irni jegyeséhez. Meggondolá, hogy mennyire széthangolhaták
prózai észrevételei a költő fellengős ábrándozásait, s mily keserű
utóhangokat hagyhattak azok annak nem földi csizmákban járó
szellemében s hogy azt jóvá tegye, belegondolkozta magát azokba a
képtelenségekbe, a miket Kálmán elmondott, ráerőszakolta
képzeletére azokat a furcsa érzelmeket, a mik sejtelmeknek
nevezhetők, a miket érez az ember, ha a gyomrát meghűtötte, vagy
náthája következik, vagy midőn táncz közben észreveszi, hogy
valami kapocs szakadni, vagy fejéke lebomlani készül; ezekhez
hasonló sejtelmek között irt össze egy csomó holdas historiát, a
midőn belép a szobaleány s hoz egy levelet, melyet épen most adott
át neki a posta.
Julia boszúsan kapá el a levelet, kizavartatván sejtelmei ködéből,
de a mint rápillantott s a kézirást megismeré, akkor aztán igazán
sejtelmek szállották meg, Kálmán irását ismerve meg a borítékon.
Szívdobogva tartá kezében a zárt levelet. Vajjon mit ir? Irgalmas
ég? Hátha az van a levélben, hogy a midőn e sorokat olvasom, akkor
már annak irója…
Nem engedé magának bevégezni a rémeszmét, hirtelen inte
szobaleányának, hogy távozzék s egyedül maradva, reszkető kézzel
bontá fel a levelet. Négy sűrűn irott oldal állott előtte.
«Imádott, örökké feledhetlen angyal!»
«Láttál-e már valaha két csillagot az égen, melyek oly közel
állanak egymáshoz, hogy puszta szemmel egynek tartaná őket az
ember s melyek világteremtés óta egymás körül forogva, csodálatos
tüneményt képeznek a csillagrendszerben s ime egy véletlen szavára
a mindent kormányzó sorsnak, egyszerre egy közülök elválik s
megindulva az égen, üstökös csillag lesz belőle, melynek végzete a
világon kívül bujdokolni s ijeszteni vészt jósló lángjaival a remegő
csillagokat.»
Juliának nem volt türelme ezt az egész astronomiát végig olvasni,
hanem egyszerre a végére futott s olvasá, a mi ott állt.
… «miután atyám kivánsága életemre nézve vasbilincs, mely
engem, mint Prometheuszt, a sziklához lánczol, ő pedig azt kivánja
tőlem, hogy tekintetes Berkessy Gábor protonotárius úr kisasszonyát
vegyem nőül, nem marad hátra más, mint meghalnom, vagy
engedelmeskednem. Ha csak enmagamat tekinteném, boldogság
volna reám nézve a halált választani, de te rád gondolok, kinek lelkét
ily eset örökre megzavarná, azért élni fogok és engedelmeskedem,
csupán te érted, csupán a te nyugalmadért. Könyekkel szememben,
szívemben a halál tőreivel irom e sorokat hozzád: felejts el örökre
engem, ki emlékeddel halok meg. Sós Kálmán.»
Julia a holdból esett le…
Hát ez volt az a halálos sejtelem, az a magnetismus, azok a titkos
visiók, hogy egy másikat akar nőül venni.
A következő pillanatban hidegvérrel fogá össze a levelet a
magáéval a delnő s a nélkül, hogy arra is méltatná, hogy kétfelé
repeszsze, bevetette a kandallóba.
Csengetett.
A szobaleány belépett. Julia nehány szót irt s azt lepecsételte.
– Az inas rendeljen rögtön lovas futárt, a ki Nánásy úr után
menjen s ha még az alispánnál kapja, adja át neki e levelet, ha ott
nem találja többé, menjen utána Pestre, az Arany sasba szokott
szállani, ott keresse fel. A fizetést nem kell kimélni.
A város tele volt már a hírrel, hogy Julia férjhez megy; az volt
csak még a szerencse, hogy senki sem tudja, kihez?
Ilyenformán Berkessy Gábor úr kisasszonyát már harmadik
oldalról is fenyegeti a szerencse; – hogy ez érdekes szerelmi csőd
hová fog fejlődni? azt időjártával, annak rende és módja szerint
szintén meg fogjuk tudni.
Berkessy Gábor urambátyám egy hatvan év körül járó fiatal
ember volt, kinek haja és bajusza galambfehér volt már, de lelke oly
ifjan maradt, mintha most is harmincz éves volna. Mulatságokban ő
volt a társaság lelke, mindig tréfás, a nélkül, hogy valaha sértene,
anekdotái hiresek voltak a környékben s ha ebéd vége felé egyet-
kettőt előhozott, megrázkodtatta az egész társaságot, hogy az
emberek a székekről forogtak le a kaczagás miatt, a mi
megbecsülhetlen dolog hosszas lakmározás után s ha azután ő is
hozzá kezdett a nevetéshez, azt a város végin is meghallották, mert
azt a menydörgő kaczagást csak akkor lehetne valamihez
hasonlítani, ha az oroszlánoknak is szokásuk volna a nevetés; úgy
hogy mikor Makón, vagy Szegeden szinészek voltak s ő betalált
vetődni valami nevettető darabba, nem egyszer megtörtént, hogy
félbe kellett szakítani miatta az előadást. Eleinte csak lassankint
buffogatott: ha! – haha! – haha! csak tartogatta a kendőjét a
szájára, iparkodott komoly képet csinálni, úgy tett, mintha köhögne,
míg végre, mintha egy bomba pattanna szét benne, kitört irtóztató
hangon: hahhahhahhaha! a könyek végig patakzottak orczáján,
ütötte az öklével az előtte álló padot, rugdalta a földet, magával
ragadta a nézőket, a nézők a játszókat, úgy hogy mikor valamelyik
szinész már meghallotta az első «ha!» felkiáltást, ugyancsak sietett
elmondani, a mi szájában volt, mert aztán szó sem volt róla, hogy
szóhoz juthasson.
Hogy én ilyen sokat beszélek Berkessy Gábor urambátyám
nevetési virtuozitásáról, ez azért van, mert szerintem ahhoz, hogy
valaki jól tudjon nevetni, nemcsak jó tüdő, hanem jó szív is kell, s
erről is ismeretes volt a derék úr az egész környékben. Egész
arczulata a leghívebb tolmácsa volt lelkének: az a jó gömbölyű kép,
azok a mosolygó szemek, ezüst szempilláikkal, az a mindenfelé
mozgatható bozontos fehér szemöldök, az épfogú piros száj s a
fehér bajusz a piros orczán, mintha hó esett volna rózsalevelekre és
a félreismerhetlen szívjóság kinyomata minden vonásaiban oly
bizalomgerjesztő tekintetet adtak neki, hogy közelében lehetetlen
volt jól nem érezni az embernek magát s ha vele szemközt ült, még
a karácsonyi legatus is vérszemet kapott.
Harmincz éves volt a jó úr, midőn megházasodott, jó, szelid
felesége volt, kivel tizenkét évig élt példás békességben, a nélkül,
hogy gyermekük született volna. Ekkor végre, midőn nem is vártak
többé reá, köszöntött be az elkésett áldás, egy kis leányka képében.
A boldog pár még egyszer oly boldoggá lett; a kis Linácska lett
öröme, szemefénye, reménysége, dicsősége mind kettőnek. Azt
szeretettel, gyöngédséggel, hizelgéssel halmozák, mindenben kedvét
keresék, kényeztették, cziczomázták, a gondolatját is siettek
eltalálni, és – különös játéka a természetnek, – az egyetlen gyermek,
nem hogy elromlott volna annyi gyöngéd kényeztetés által, sőt
mindez csak szelidebbé, kedvesebbé tette őt, anyja szemeinek egy
intésével igazgathatta őt, s nagyobb örömöt nem ismert, mint
szüleinek kedvökben járhatni; a reá pazarlott gyöngédség, szeretet,
háladatos földre talált lelkében, ép oly gazdagon fizetve mind azt
vissza, ellenkezőleg a legtöbb elkényeztetett természettel, mely
olyan szokott lenni, mint az eczet, mentül több czukrot raknak bele,
annál erősebb eczet lesz belőle.
Alig tíz éves korában elveszté anyját a leányka, a mi ifju lányra
nézve a legnagyobb csapás, az apai gond soha sem pótolja az anya
figyelmét, sokat nem vesz észre, sokat elmellőz az apa, a mi az anya
figyelő lelkét nem kerülte volna ki. Ámde Linán e csapás sem
változtatott, csupán komolyabb lett azóta. A házi asszony gondjai
lassanként az ő vállára nehezültek s ifju nőknek legbiztosabb őre a
házi gond. Ez munkás életet ád, komolyságra vezet, megtanítja
önmagát becsülni, kiirtja a szenvelgést, álérzelmeket és az életbe
vezet.
A kis lánykából serdült hajadon lett, jóságáról, szelidségéről
messze földön beszéltek, atyjának meglehetős karban álló vagyona
volt, ezt is jól lehete tudni, mint ezt igazolni látszik azon körülmény,
miszerint eddigelé tudtunkra egyszerre három kérő indult
háztűznézésre Berkessy Gábor urambátyámhoz.
Elvégre azonban ki kell mondanom, miszerint e jó, kedves, szelid
leányka külsejére nem volt az, a mit költői nyelven szépnek szokás
nevezni.
Valóban nagy gorombaság, a mit ezek a költő urak elkövetnek a
világgal; már szerintök annak, a ki nem tökéletes szépség, joga
sincsen igényt tartani a boldogsághoz, mind azok a nők, kiknek
arczát rózsákhoz és liliomokhoz nem lehet hasonlítani, nem is
egyébért születtek, mint hogy megcsalassanak, ráadásul adassanak
pénzeikért, pénz nélkül pedig épen elő sem fordulnak regényben.
Pedig az élet ezt meghazudtolja: a családi boldogságot oly
házaknál is virulni látjuk, hol a nőt nem festették le almanachok
számára s a szerelem, a gyöngéd költői lélek felkeresi a szerény,
igénytelen alakokat, kedvességet, gyönyört, vonzó értelmet árasztva
el azon vonásokon, miket a természet nem alkotott festői mintának,
miket ha le kellene irni, alig tudnók elmondani, mi rajtok oly kedves?
ha mozdulatlanul lerajzolva előttünk állnának, hideg közönbösséggel
fordulnánk el tőlük, de a mint beszédessé lesznek, a mint egy
mosoly, egy ábránd, egy szelid részvevő indulat végig vonul rajtok,
édes vonzalom lep meg bennünket, az arcz, melyet a természet
halaványon hagyott, az ajkak, a szemek valami új ismerős bájt
nyernek, a lélek bebizonyítja hatalmát az alak felett, leküzdve annak
hiányait s széppé varázsolva, a mi nem az: – hanem persze ahoz is
lélek kell, hogy azt valaki meglássa.
Linka is azon női alakok közé tartozott, kiket a természet nem
tett ragyogókká. Szerencsére azon öntudatra nem enged a természet
senkit sem jönni, hogy magáról elhigye, miszerint nem szép. Az nagy
szerencsétlenség lenne, s képes volna igen roszszá tenni az embert.
Aligha volna az jó lelkű ember, ki a tükörbe nézve, valamit fel ne
tudna fedezni magán, mi arczát kedvezővé teszi és a mit valóban
más is észrevehet rajta hosszasb figyelem után. Ezek az eszmék
ugyan nagyon ártanak a classicus fogalmaknak, s a szépműtan
vissza fog borzadni annak hallatára, hogy a nem szép is lehet
költészet tárgya, de ki tehet róla, hogy annyira elszaporodott az
ember a földön, hogy egészen benőtte tarka népeivel az olympi
egyformaságot, s a néger és a lappón szépnek találja a maga párját
s még olyan vakmerő is akad, a ki azt állítja, hogy a szellem is lehet
szép.
Mind e beszédeket pedig nem szabad unnod, nyájas olvasóm;
mert azt jól tudod, hogy ide háztűznézni jöttünk, tehát türelmesen
meg kell hallgatnod és látnod mindent, hogy hiába ne fáradtál
légyen ide.
Épen hajnalodik, a harangszó ébredőt cseng a faluban. A felkelő
nap legelső sugarai a ház ablakára sütnek s a zöld ablakredőnyök
egyenkint felnyilnak, csupán kettő marad zárva, ott még az öreg úr
alszik. A hajnali friss lég keresztül járja a szobákat, mik már akkorra
ki vannak tisztogatva, a megbecsült ősi bútorok letörölgetve, az
ablakkal szemben az üveges pohárszék nagy fénymázos czifra
szárnyakkal, miknek oszlopait aranyozott angyalok tartják, benne
csészék és metszett poharak, mik között még az is látható, melyből
Gábor bátyánk nagyanyja menyasszony korától kezdve 82 éves
koráig ivott. Gyönyörű rendtartás, a hol egy pohár 82 esztendeig
eltart, még a füle sincs letörve. Oldalvást egy magas kihúzó szekrény
látható, harminczkét fiókkal cseresnyefából, melyet remekbe csinált
egy szittya asztalos, minden fiókon bronz oroszlánfejek, melyek
karikát tartanak fogaik között. Két oldalt áll két superlátos ágy,
melynek függönyeire igen szépen van kinyomtatva egy
szarvasvadászat, a magasra fölvetett párnák közt nem hál senki, de
azért minden napfényes délután kiterítik azokat a folyosóra, s úgy
vetik újra; a két ablak között áll egy ősi tükör, melynek rámája is
czifrára köszörült tükörből van, alatta egy lekapcsolható fekete
bőrpamlag, mely fölé a falon immortelle virágból fűzött koszorú van
akasztva, mely legalább is lehet félszázados. Az egyik szögletben áll
egy nagy falióra, földigérő házban, melynek ketyegése bár ritkán
altat el, verése ritkán ébreszt fel valakit, még sem múlik el nap, hogy
pontosan fel ne volna húzva; a másik szegletben végre áll a magas
kecskerokka, melyen ős időkben a nagymama szokott fonni, s melyet
kegyeletből azóta senki sem mekegtet.
Ez az egyik szoba.
Meg kell még azt is tudnod, kegyes háztűznéző, miszerint a
pohárszék aljában negyvennyolcz személyre való ezüst hever, a mely
nem jár elő, s a szekrény fiókjai szinültig vannak hófehér abroszokkal
és sávolyos kendőkkel, el lehetne velök látni egy restaurácziót.
Most jerünk a másik szobába.
Ez már a legújabb divat szerint van bútorozva. Gábor úr egy
nevenapján azzal lepte meg leányát, hogy tudta nélkül egy egész
szobát divatos bútorral szereltetett fel; kényelmes karszékek,
ruganyos pamlagok, melyek később zongorával is szaporodtak, a
háttérben egy üveges chiffon, mely tele van név- és egyéb
ünnepekre kapott kedves csecsebecsékkel; a himzett szőnyegek
mind a házi kisasszony saját művei, ki a mellett, hogy a háztartást
példás renddel viszi, azon finomabb női munkákra is talál időt, úgy
osztva fel óráit, hogy egyik dolog a másikat ne mulaszsza.
A kis himző asztalkáról nem hiányzanak az irodalom újabb
termékei is, s szépen szám számra rakva, ott látható az Athenæum
is és a Regélő, az ő Honművészével együtt, ekkoriban a magyar
szépirodalom időszaki képviselői.
E teremből nyílik Linka hálószobája, oltártiszta kis menedék,
szellős ablakkal, mely a kertre nyílik, a nagy mályvarózsák
betekintgetnek rajta; a falon rézkalitkában kanári madárka
berzenkedik, tollát borzolgatva, s ha úrnője szavát hallja, olyan
éneket kezd, hogy majd megszakad picziny szíve bele. Meglepő csín
és rend mindenütt, egy félrecsúszott redő nincs a függönyökön, egy
elhajított tárgy nem hever sehol, sem egy gondtalanul levetett
öltönydarabot nem látni, – szék, asztal nem áll útban, a
varróasztalból nem csüggnek czérnák, galandok, a zsurolt padlat oly
fehér, mint a lisztláng, olajfolt, sáros láb nyoma keresve sem
található rajta, csupán a kis kanári szemtelenkedik néha, elszórva a
kendermagot, melyet úrnője azután, valahányszor bejön szobájába,
szemenkint szedeget fel utána.
A terem tulsó ajtaja egy előszobába vezet, innen nyílik az öreg úr
hálószobája: ne zörögjünk, mert még alszik. Az épület tulsó szárnyán
vannak a vendégszobák, konyha, éléstár és cselédszoba, körül
négyszegű oszlopokon nyugvó fedett folyosó vonul, ellátva padokkal,
itt szokott pipázni az ismerősök, szomszédok, komák és atyafiak
egyessége, jó árnyékban, ha a nap süt, jó szárazon, ha az eső esik.
Még csak most kezd a nap a fákon keresztül sütni, az udvaron
nagy a sürgés-forgás, az aratónépek készülnek indulni a tarlóra,
vidám barna leánykák tréfálóznak nyalka legényekkel, az öreg béres,
kifent bajuszával, kihajtja czímeres szarvú ökreit a kútra itatni, s míg
ő a kankalikos kútgémet nyikorgatja, a kis béres a szekér-oldalon
olyan hegyesen fütyörész, mintha az övé volna ez a világ kétszer. A
pitvar alatt a hajdú nagy tusakodásban látszik egy pár ezüst
sarkantyús csizmával, melyet olyan fényesre törekszik kefélni, hogy
akár megborotválkozzék belőle, a ki felhúzza; a nyitogatott
konyhaajtón keresztül csapódik a jó friss rántásszag. Végre kilép a
folyosóra a házi kisasszony. Arcza, mert a tűznél volt, szokottnál
pirosabb, s fehér kendőcskével van bekötve, mely árnyékot tart
fölötte. Kijön és kenyeret, pálinkát oszt az aratóknak, ezt sem azért
teszi, mintha gazdálkodnék, sőt ellenkezőleg, hogy mindenkinek
elege legyen. Lám, az ifju leányzók számára, kik még az égett bor
áldásait nem ismerik, külön rántott levest főzött, hogy éhen ne
menjenek a dologra, s addig meg nem nyugszik, míg meg nem
győződött felőle, hogy adományaiból mindenki részesült. Az aratók
útra indulnak jó kedvvel, az ökrök kolompja, az öreg béres
ostorkongatása s a kis béres füttye elhangzik; az apró marhácskák
serege előjön, felugrálnak a nagy malomkő asztalra a diófa alatt, hol
a munkások reggeliztek, felszemelni az elhullott morzsát, s törik
magokat, midőn a kis gazdasszony szakajtó kosárral kezében újolag
megjelen, s mindeniket a maga szokott nemzeti dialectusán hívja
magához.
Most ismét a konyhai gondok jönnek a sorba, a kávépörkölés
ismét a házi kisasszony dolga, mert ha másra bízza, vagy
egyenetlenül pörkölődik, vagy megég, a mi kellemetlen ízt ád;
takaréktűzhelynek még ez időben híre sincs, mindent lángnál és
parázson kell főzni, s nagy gondot ád a szakácsnénak a felügyelés,
hogy lábasaiba ne csapjon a láng, be ne hordja a pernye, s sokkal
több bajjal jár a konyhát oly tisztán tartani, miként ez.
A hajdú ezalatt asztalt terít az előszobában, a kanál és
findzsazörgésre felébred az öreg úr, s megtudja, hogy kávét ütött az
óra, s nem sokára kinyitja ajtaját és teljes ornatusban kilép, lábán a
sarkantyús csizma, mentéje panyókán vetve nyakába, sűrű rövidre
nyirt őszhaja födetlen, a pipa megtömve szájában. A hajdú
szerencsés jó reggelt kiván, három ásitozó agár előnyujtózkodik az
asztal alól s barátságos indulattal ugrál az öreg úr nyaka közé, ki
csendes lélekkel kimegy a konyhába pipáját meggyujtani, jól tudva,
hogy leányát ott fogja találni. Linkának épen mind a két keze tele
van lábassal, serpenyővel, miket nem tehet le, ennélfogva a mint
meglátja apját, a legkedvesebben csengő hangon szól: «jó reggelt,
kedves édes apám, ugyan kérem szépen kedves édes apám, tartsa
ide a kezét.»
– Minek? kérdé az öreg úr, de csak oda tartotta a leány elé.
Hát csak azért, hogy oda hajolhasson és megcsókolhassa; mert
kezei nem voltak szabadok.
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.
ebooknice.com