Why Do We Need to Focus on AI in Detecting Deepfake Videos?

Artificial intelligence (AI) has become an essential part of our lives, impacting industries ranging from healthcare to finance [Li, Y]. One area where AI has shown particular promise is in combating the rise of deepfake videos, which have become increasingly prevalent in recent years. These videos use AI technology to manipulate footage and create fake images and sounds, often for malicious purposes. As a result, there is a growing need for AI-based tools to detect and prevent the spread of deepfake videos [Zhou].

What is a “deep fake”? (2019, July 29). https://abcnews.go.com/. https://abcnews.go.com/US/video/deep-fake-64636606

A counter AI website that detects deepfake videos is one such tool. By analyzing videos and images, the website can determine whether they are real or manipulated. This is achieved through machine learning algorithms that can identify patterns and anomalies in the footage. Such a website can be a valuable resource for journalists, law enforcement agencies, and social media platforms to prevent the spread of false information.

https://incidentdatabase.ai/apps/submit/

Moreover, deepfake videos have significant implications for privacy and security. As the technology used to create them becomes more sophisticated, they become increasingly difficult to detect, and the potential harm they can cause grows exponentially. For example, deepfake videos can be used to blackmail individuals or to create fake news stories, which can have serious consequences for public trust and democratic institutions [Li, Y]. Therefore, it is essential to develop effective AI-based tools that can detect and prevent deepfake videos.

However, there are challenges to developing such tools. The technology used to create deepfake videos is constantly evolving, meaning that AI algorithms need to be updated regularly to keep up with new developments. Additionally, the use of deepfake videos raises ethical questions around privacy and consent, which must be addressed to ensure that AI is being used responsibly [Zhou].

Team, B. (2019, July 24). Automated journalism – how AI is disrupting journalism. Blockruption. https://blockruption.com/2019/07/automated-journalism-how-ai-is-disrupting-journalism/?lang=en

A counter AI website that can detect deepfake videos can be an essential resource for journalists, law enforcement agencies, and social media platforms to prevent the spread of false information. As technology continues to evolve, it is crucial to develop effective AI-based tools that can keep pace with new developments and ensure that AI is being used ethically and responsibly.

Refence:

  • Zhou, W., & Han, J. (2020). Deep Learning for Deepfakes Creation and Detection. IEEE Signal Processing Magazine, 37(1), 92-106.
  • Li, Y., Chang, M. C., Lyu, S., & Xie, S. (2019). In 5 seconds, a fake video can put you in a compromising position. Communications of the ACM, 62(11), 96-104.

Why Socket.io is the Future of Real-Time Web Communication

From communication to entertainment, technology has revolutionized the way we live and interact with each other. As a web developer, I have had the opportunity to work with various technologies, but one technology that stands out to me is Socket.io.

Socket.io is a real-time communication engine for web applications. It is a powerful tool that allows developers to create real-time, two-way communication between a client and a server [Oluwasegun, K]. This makes it possible to build dynamic and interactive websites that provide real-time updates to users [Amaechi, E].

With Socket.io, we can build a variety of applications such as chat rooms, real-time data streams, multiplayer games, and more. This makes it a great choice for web developers who want to add real-time features to their websites [Amaechi, E].

Another reason why I love Socket.io is that it is easy to use. The library provides a simple API that can be easily integrated into a web application. It also provides a rich set of features, such as rooms, namespaces, and broadcasting, that can be used to build sophisticated real-time applications.

As online communication becomes increasingly popular, I believe that Socket.io will become even more famous. It is a tool that will allow developers to build metaverse-type websites that provide a fully immersive and interactive experience for users. With the rise of virtual reality and augmented reality, I believe that Socket.io will play a significant role in shaping the future of the web.

Reference websites

Amaechi, E. (2021, November 10). Real-time data transfer with socket.io. LogRocket Blog. Retrieved February 7, 2023, from https://blog.logrocket.com/real-time-data-transfer-with-socket-io/

Oluwasegun, K. (2022, November 22). Build a chat room with Socket.io and Express. HackerNoon. Retrieved February 7, 2023, from https://hackernoon.com/build-a-chat-room-with-socketio-and-express

Breaking Down the CODE: How to keep the modern design way of coding

One way to avoid writing massive amounts of code is to use modular design principles. This involves breaking down your code into smaller, reusable components that can be easily managed and maintained.

For example, instead of writing one large function that performs multiple tasks, you can write several smaller functions, each of which performs a specific task [UNext Editorial]. This makes it easier to understand and modify the code, as well as making it easier to test and debug.

Before:

def process_data(data):
    data = data.strip() #remove whitespaces
    data = data.lower() #convert to lowercase
    data = re.sub(r'[^\w\s]','',data) #remove punctuation
    data = re.sub(r'\d+','',data) #remove digits
    data = data.split() #split data into a list
    return data

After:

def remove_whitespaces(data):
    return data.strip()

def convert_to_lowercase(data):
    return data.lower()

def remove_punctuation(data):
    return re.sub(r'[^\w\s]','', data)

def remove_digits(data):
    return re.sub(r'\d+','', data)

def split_data(data):
    return data.split()

def process_data(data):
    data = remove_whitespaces(data)
    data = convert_to_lowercase(data)
    data = remove_punctuation(data)
    data = remove_digits(data)
    data = split_data(data)
    return data

I got the concept of this example code from [niharika].

As like the example above, to avoid writing massive code is to use libraries and frameworks that provide pre-built functionality. For example, instead of writing your own code to handle database interactions, you can use a library like SQLAlchemy. This can save a lot of time and effort, as well as making your code more reliable and maintainable.

After reading multiple articles about the efficient way of coding, having monolithic functions is what I need to aware of. This is because such functions are often difficult to understand, test, and modify. They also tend to be more prone to bugs and errors, and can make it more challenging to identify the source of a problem. By breaking down the code into smaller functions or modules, it makes it more manageable, easier to test and debug, and less prone to errors.

In this article, we discussed the benefits of modular design and provided examples of how to apply it to your code. We also highlighted the importance of breaking down monolithic functions and the pitfalls of writing massive code. The key to avoiding massive code is to break it down into smaller, manageable components.

References

  • UNext Editorial , T. (2022, December 15). What is a modular design? everything you want to know in 8 easy answers! Jigsaw Academy. Retrieved January 26, 2023, from https://www.jigsawacademy.com/blogs/product-management/modular-design/#:~:text=Modular%20design%20in%20software%20engineering,designed%20to%20achieve%20specific%20functionality.
  • niharika. (2018, September 7). Modular approach in programming. GeeksforGeeks. Retrieved January 26, 2023, from https://www.geeksforgeeks.org/modular-approach-in-programming/

How to understanding the project and why we need to study?

It is very difficult to carry on with someone else’s project. Since everything is set up differently, such as the development habits and environment I have had from before, continuing the project that others are developing is a very high level of difficulty. If we are in a situation where we have to proceed with someone else’s project, how can we do it easily?

Jose, L. (2019, May 29). Senior project. Angels And Superheroes. Retrieved November 28, 2022, from https://angelsandsuperheroes.com/2017/09/25/senior-project/

I think the first important thing is to understand the project. Figure out what they want to make with this project. I think it’s most important to figure out how their programs are run. The AIID project I am working on is the main task of creating a deepfake database. In addition, AI that catches deepfakes is also envisioned. They want to proceed with UI improvements and AI development as a whole.

back4app. (2022, July 15). Top 10 front end programming languages. Back4App Blog. Retrieved November 28, 2022, from https://blog.back4app.com/front-end-programming-languages/

The second is an understanding of the tools they are using. There are several options for building a website. If you only search for the front-end, there are several methods such as Angular, HTML, React, php, and flask. Our AIID uses a front-end called Gatsby React. Gatsby has the advantage of being able to compile react project faster than any other tool. This has the great advantage of being able to send fast data to Google search and expose it to the top of competing websites. DB selected MongoDB, which is currently used by many companies. MongoDB, which has great advantages in data storage and data sorting, is suitable for websites that require complex data mining such as AI development.

Shwoing AIID is list on the top of the Google page by using the gatsby framework

Lastly, keep the code in your head by interviewing the program developer. Of course, you can go to github to understand the code from the beginning of the project and proceed. However, it can ended up being by created unwanted program. That’s why I think it’s the best way to have enough meetings with clients and get guidance on how far they’ve developed and where I should start coding.

Development is like a game without a map. Sometimes I wonder if I’m doing the right thing, and I don’t know which is wrong. However, the pleasure of overcoming such adversity and developing the program I want is tremendous. The way to succeed in this project is to focus on solving “together” by collaborating with others.

Technologies I am using for this Project

Topic: Technologies I am using: draw.io and Figma

The most needed tool was a program that could freely design diagrams. I have many ideas, but the web applications I know, such as Trello, photoshop, or slack, do not support the features I want.

Things I want to have from the flow chart design website:
* Supports various shapes
* Various colors
* Various font changes and size changes
* There are convenient exporting functions.
* Easy integration with Google service

The draw.io website is the best website that contains all the features I want. My favorite feature is that it can be linked with google drive, so it can be easily shared with team members, and the team members don’t have to sign up for another website. When you first enter the website, you can select templates provided by the platform as default.

And similarly to other flow chart design websites, you can drag the desired shape block to the main page and change the color and text freely. The picture below is a web front-end diagram I made using the draw.io service.

The biggest advantage of this program is that it can be linked with google drive as I mentioned. There are good programs like lucid chart, but sign-up is required to use the service, and other people do not have easy access to it. So draw.io, which can be saved in google drive and can be easily shared with team members, is the best website for me.

Second, the website I would like to recommend is a service called Figma. figma is the most convenient program to help you design the interface easily. It has a UI and work environment similar to Photoshop, so you can start quickly. The biggest advantage of this website is that you can easily create a mock website without coding.

It is really the best program because it is possible to collaborate easily. The advantage of being able to use all systems for free is also good for team projects. There is a really good advantage that high-quality work can be implemented in a short time with simple photoshop work.

The quality of all web service platforms continues to increase and become free. For example, I was really surprised when I used a program called zoom during the Covid-19 pandemic. The advantage of being able to start such a convenient program for free is good news for users, but I thought that it might put pressure on new web services to be developed in the future as well. So, I hope that the AIID AI program to be developed this time will also be used by many people with good UI and services like other platforms.

CS_461 Introduction about ME #1

I think this capstone task is an essential task for college students who need to learn about the way of good communication. Because collaborating with someone is very complicated and inexperienced. I think the reason I don’t have much experience in collaborating with someone is because most college assignments require working alone instead of collaborating with someone. Due to the major nature of Computer Science, I have solved most of the tasks up to this point by myself. I planned everything by myself, made modifications, and republished the program.

Moseley, C. (2022). 7 Reasons why collaboration is important. jostle.me. Retrieved from https://blog.jostle.me/blog/why-collaboration-is-important.

I think the main difference between a class assignment and this capstone is that we have to handle other opinions so the team can move forward. We should try to not harm other teammates and work efficiently. The group project itself may seem a lot harder to do than work alone, but I think the value of experience from this will be much higher. The reason why a capstone is necessary is because working as a team is very common at the company. And I believe this will prepare us to help step outside of school.

Before starting this project, I think it will be very helpful to determine a place where team members can communicate. Personally, I would like to use Discord as the main communication site and Trello for project schedules. This is because, by default, both applications are free. In addition, it is expected that no one will dislike the use of the above two applications in an easy-to-use way.