# AI_Watch_A1 **Repository Path**: soanhuang/AI_Watch_A1 ## Basic Information - **Project Name**: AI_Watch_A1 - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-10 - **Last Updated**: 2026-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
CMake Settings for >= M1:
3. Install [Apache Kafka](https://kafka.apache.org/), [Confluent](https://www.confluent.io/) and their own dependencies. Confluent is not mandatory, but without it, you will have to set up the Kafka environment on your own. Useful guides: [how to install Apache Kafka on Mac](https://www.conduktor.io/kafka/how-to-install-apache-kafka-on-mac), [how to install Confluent](https://docs.confluent.io/4.0.1/installation/installing_cp.html).
4. Run the following command in your terminal:
```
git clone --recursive git@github.com:dennewbie/AI_Watch_A1.git
```
After that, remove all the files named `emptyFileForPadding.txt` in the cloned folder.
5. From `/AI_Watch_A1/src/AI_Watch_A1/` folder, run the following commands in your terminal:
```
mkdir build && cd build
```
6. Copy OpenPose's `models` folder to the project's build folder.
7. Copy OpenPose's `BoostConfig.cmake`, `FindGFlags.cmake` and `FindGlog.cmake` files to the `build/cmake/modules/` folder.
8. Update `caffe lib` path inside `CMakeLists.txt`. Then run the following commands in your terminal:
```
cmake .. && make -j `sysctl -n hw.logicalcpu`
```
9. This step is optional. Run the following command in your terminal:
```
sudo make install
```
10. Now let's start the Kafka environment. Run the following commands in a new terminal session located on the parent folder of the `confluent` folder. Set the environment variable for the Confluent Platform home directory:
```
export CONFLUENT_HOME=confluent-7.2.1
```
Add the Confluent Platform bin directory to your PATH:
```
export PATH=$PATH:$CONFLUENT_HOME/bin
```
Test your installation by running the confluent command:
```
confluent --help
```
Your output should show the available commands for managing Confluent Platform.
Start Confluent Platform by using the Confluent CLI confluent local services start command. This command starts all of the Confluent Platform components, including Kafka, ZooKeeper, Schema Registry, HTTP REST Proxy for Kafka, Kafka Connect, ksqlDB, and Control Center.
```
confluent local services start
```
Your output should resemble:
```
Starting Zookeeper
Zookeeper is [UP]
Starting Kafka
Kafka is [UP]
Starting Schema Registry
Schema Registry is [UP]
Starting Kafka REST
Kafka REST is [UP]
Starting Connect
Connect is [UP]
Starting KSQL Server
KSQL Server is [UP]
Starting Control Center
Control Center is [UP]
```
### Important #1 π
The confluent local commands are intended for a single-node development environment and are not suitable for a production environment. The data that are produced are transient and are intended to be temporary. For production-ready workflows, check [Confluent website](https://www.confluent.io/).
### Important #2 π
The Confluent CLI requires Java version 1.8 or 1.11.
See [Confluent versions interoperability](https://docs.confluent.io/current/installation/versions-interoperability.html).
### Important #3 π
In order to improve speed and general performance, you could disable images' showing and change the number of frames captured per second. In this last option, capturing too few frames per second reduces output' quality. Furthermore, it's also possible to reduce OpenPose's network resolution, but a significant drawback is reduced accuracy.
### Important #4 π
Place the camera in a way that it can "see" the left and the right wall of the room.
11. Navigate to http://localhost:9021 and create a new topic `topic1` with default settings. Now go to `/AI_Watch_A1/src/AI_Watch_A1/` and set up your [Kafka](https://github.com/edenhill/librdkafka) parameters within the `configuration_file.ini` file. At this point:
- if internal OpenPose execution is chosen, then run the following command in your terminal:
```
sudo ./AI_Watch_A1.bin --num_gpu 1 --num_gpu_start 2 --image_dir rs_images/rgb --write_json op_output/op --logging_level 255
```
- if external OpenPose execution is chosen, then set up your OpenPose parameters within the `conf.conf` file, run the following command in your terminal:
```
sudo ./AI_Watch_A1.bin
```
Note that the internal OpenPose execution is suggested.
## Known issues β οΈ
1. The module can rarely get stuck on the following invocation located in `RealSenseD435Manager::23`:
```
rs2::pipeline_profile myPipelineProfile = pipelineStream.start(myConfiguration);
```
This means some errors have occurred, due to the USB connection while starting the camera's environment. In order to fix that, just exit the program, unplug the RealSense camera from the USB cable, and connect it again.
## System Structure π